¿Cuánto seguís tocando el nginx.conf a mano de verdad hoy, frente a que lo genere una herramienta por vosotros (Certbot para los bloques SSL, un Ingress Controller de Kubernetes, Nginx Proxy Manager, plantillas de vuestro propio sistema de despliegue)?
Con Certbot, por ejemplo, es habitual que la primera vez configures el vhost a mano y luego Certbot te reescriba el fichero automáticamente para añadir los bloques SSL, lo cual está bien hasta que necesitas entender exactamente qué te generó para depurar algo raro. Y con Kubernetes, la configuración de Nginx que corre de verdad en el Ingress Controller queda bastante alejada del .conf "de toda la vida" que se aprende en cualquier tutorial clásico.
¿Seguís entendiendo bien la configuración real que corre en producción, o a estas alturas confiáis en que las herramientas la generan bien y rara vez entráis a mirarla directamente salvo que algo falle?
Marta
Cada vez menos, si te soy sincero, y no siempre con la comodidad que me gustaría. Con Certbot, la primera configuración del vhost la sigo escribiendo yo a mano (me gusta entender exactamente qué hay ahí desde el principio), pero después de que Certbot reescriba el fichero para añadir los bloques SSL, sí reviso el resultado para confirmar que entiendo lo que ha generado, no me limito a asumir que está bien sin mirar.
Con Kubernetes es donde más se me ha ido de las manos la comprensión directa: la configuración de Nginx que corre de verdad dentro del Ingress Controller sale de combinar el propio Ingress Controller, las anotaciones que pones en los manifiestos YAML, y algún ConfigMap con overrides. Para depurar algo raro ahí, ya no basta con "leer el nginx.conf", tienes que entender toda la cadena de generación, que está bastante más lejos del .conf clásico que se aprende en cualquier tutorial.
Lo que hago para no perder del todo esa comprensión: cuando algo falla de verdad en producción, siempre saco la configuración generada final (con kubectl exec dentro del pod del Ingress Controller, por ejemplo) y la leo directamente, en vez de fiarme solo de las anotaciones que puse en el YAML. Es la única forma de estar seguro de que lo que crees que configuraste es realmente lo que está corriendo.
Ivan