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