Anule la configuración predeterminada de nginx http sin cambiar el nginx.conf predeterminado

14

Mi intención : me gustaría anular la configuración predeterminada definida en /etc/nginx/nginx.conf(en debian 8). La idea es mantener este archivo completamente intacto para facilitar futuras actualizaciones del sistema y poder obtener los últimos cambios para las opciones que no anulé.

Lo que hice : creé una configuración personalizada de /etc/nginx/conf.d/la misma manera que lo hice para varios otros servicios de Debian.

Problema : Sin embargo, parece imposible anular alguna configuración, porque obtengo una directiva "X" es error duplicado . Nginx no parece admitir la anulación de la configuración de la misma manera que otros servicios.

Pregunta : ¿Hay alguna forma de anular y agregar una nueva opción al contexto http nginx sin obtener la directiva de error duplicado ? ¿O debería abandonar por completo la idea y arrasar con la nginx.conf?

Muchas gracias por su ayuda.

Esta pregunta similar realmente no resuelve mi problema, porque también quiero aprovechar las opciones predeterminadas que nginx establece automáticamente para mí (por ejemplo worker_processes auto;)

Guión
fuente
1
¿Realmente estás decidido a usar Debian? Su configuración nginx es bastante diferente a la corriente arriba, y esto podría no ser posible.
Michael Hampton
Si. Ya tengo varios servidores de producción ejecutándose en Debian y esto se trata de cambiar apache2 a nginx solamente. Entonces, ¿qué me estás diciendo es que en otra distribución, lo que intenté puede estar funcionando? ¿Existe la posibilidad de que funcione en el futuro con Debian?
Gui-Don
Ciertamente es posible que Debian envíe una configuración nginx más sensata en el futuro. También podrías crear el tuyo propio.
Michael Hampton

Respuestas:

2

¿O debería abandonar por completo la idea y arrasar nginx.conf?

Si deberías.

Los únicos cambios que los mantenedores de paquetes realizan son:

  • valores predeterminados más razonables para los parámetros que debería haber configurado usted mismo hace mucho tiempo de todos modos
  • #ejemplos prefijados que no se utilizarían sin su acción de todos modos

En el pasado, los únicos cambios significativos fueron ssl_protocols, ssl_prefer_server_ciphersy worker_processes. Debería haber anulado esos de todos modos años antes de que configurarlos en el paquete deb pareciera algo razonable para los encargados del mantenimiento del paquete.

En el pasado, la única mitigación real que podría haberse enviado con un nginx.conf en todo el sistema, agregando max_ranges 1;para CVE-2017-7529 no fue enviado por ninguna distribución que conozca, lanzaron la solución para la vulnerabilidad incluso antes de que la mayoría de los administradores aplicó la mitigación.

No puede esperar que los mantenedores de paquetes sean más rápidos de lo que está agregando cambios potencialmente rotos, por lo que probablemente no se beneficiará heredando su configuración. Los mantenedores de paquetes no pueden saber cuál es el mejor para los millones de casos de uso que existen y, por lo tanto, serán extremadamente conservadores al cambiar los valores aquí.

Mientras su sistema de respaldo funcione correctamente, es probable que sea una buena idea mantener la configuración en su lugar, de modo que, durante las actualizaciones interactivas, apt le preguntará cómo actuar ante los cambios del mantenedor en el archivo de configuración.


¿Cómo deduce qué cambios se aplicaron entre las diferentes versiones? Puede comparar todas las versiones de paquetes disponibles (no verificadas, descargadas de forma insegura) como esta:

(cd "$(mktemp -d)"; rmadison --url=debian nginx-common | awk '{print $3}' | while read a; do curl "http://ftp.debian.org/debian/pool/main/n/nginx/nginx-common_${a}_all.deb" | dpkg -x - x${a}; done; for a in x*/etc/nginx/nginx.conf; do [ -z "$la" ] && la="$a" && continue; diff -wus "$la" "$a";la="$a" ; done; pwd)
ansioso
fuente
La historia realmente trae información valiosa en este caso, así que gracias por esta muy buena respuesta. Entiendo su punto de vista, teniendo en cuenta la importancia de nginx en todo el mundo, es muy improbable que ocurra un cambio importante en la vida útil de mis servidores HTTP.
Gui-Don
1
No estoy de acuerdo con esto. Si bien es poco probable que ocurran problemas debido a los cambios del mantenedor, tener una configuración separada ayudará a reducir los costos de mantenimiento, así como a tener una mejor estructura y una migración más fácil a diferentes servidores, en caso de que sea necesario.
xZero
@xZero ¿Está diciendo que copiar el archivo en otra ubicación ayudará a reducir los costos de mantenimiento? Si es así, ¿cómo es eso?
ans