La contraseña de Nginx protege un dominio y evita la duplicación de configuraciones

La contraseña de Nginx protege un dominio y evita la duplicación de configuraciones

Obtuve 2 dominios dev.domain.com y beta.domain.com. Por el momento tengo una sección de servidor (predeterminada) con un montón de ubicaciones y reglas específicas. Ahora necesito proteger con contraseña beta.domain.com. ¿Hay alguna manera de hacer esto sin crear una sección de servidor adicional y esencialmente duplicar toda mi ubicación y otras reglas?

En general, me gustaría saber cómo otras personas manejan configuraciones complejas de nginx. ¿Simplemente copian secciones (duplican) o incluyen reglas comunes de alguna manera?

Respuesta1

La forma más sencilla de compartir una configuración entre varios bloques de servidores es utilizar la directiva de inclusión. Por ejemplo:

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

información relacionada