A senha Nginx protege um domínio e evita duplicação de configuração

A senha Nginx protege um domínio e evita duplicação de configuração

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;
    }
}

informação relacionada