Eu tenho 2 domínios dev.domain.com e beta.domain.com. No momento, tenho uma seção de servidor (padrão) com vários locais e regras específicas. Agora preciso proteger com senha beta.domain.com. Existe uma maneira de fazer isso sem criar uma seção de servidor adicional e essencialmente duplicar toda a minha localização e outras regras?
Geralmente, gostaria de saber como outras pessoas gerenciam configurações complexas do nginx. Eles apenas copiam seções (duplicadas) ou incluem regras comuns de alguma forma?
Responder1
A maneira mais simples de compartilhar uma configuração entre vários blocos de servidores é usar a diretiva include. Por exemplo:
/etc/nginx/conf.d/mysite.inc:
#...locations and rules...
/etc/nginx/sites-available/dev.domain.com:
server {
server_name dev.domain.com;
root /path/to/root;
include /etc/nginx/conf.d/mysite.inc;
}
/etc/nginx/sites-available/beta.domain.com:
server {
server_name beta.domain.com;
root /path/to/root;
include /etc/nginx/conf.d/mysite.inc;
location / {
auth_basic "Authentication Required";
auth_basic_user_file /path/to/authfile;
}
}