Я пытаюсь организовать свои конфиги vhost в нескольких файлах, чтобы были просмотр основных файлов / "шаблонов", а остальные просто включали их и при необходимости перекрывали настройки. Вот описано, как работает наследование в nginx. Я хотел бы знать следующее: (как) можно удалить не весь блок настроек / контекст (например, server
), но только вариант (например, server_name
).
Пример:
Я определил server
блокировать
server {
listen 80;
# server_name is not defined
if ($host ~ ^(?<project>.+)\.(?<area>.+)\.loc$) {
set $folder "$area/$project";
}
...
}
и хотите установить / переписать настройку server_name в другом месте. Это должно быть похоже
server.server_name foo.bar.loc;
Пунктирный синтаксис недопустим. Но может есть что-то подобное?
Это не должно так работать. Вы не можете переопределить, поскольку конфигурация nginx декларативна. Я бы посоветовал вам поместить общую конфигурацию в какой-нибудь файл, создать несколько серверных блоков с разными параметрами и использовать для этого файла директиву include.