nginx ignorar "host not found in upstream"
Tengo un nginx para operar como intermediario http en un sistema de virtualización. Nginx (puerto 80 y 443) está púbilco y accede a una red que es accesible solo desde el sistema de virtualización.
El nginx opera como proxy reverso y hay distintos virtualhosts para hacer visibles a los servicios http(s) de containers en la red que mencioné.
Los nombres de hosts se cargan vía solicitudes de DHCP, el DHCP está configurado como proxy DNS y entonces entre los hosts de la red cuando preguntan por el número IP de otro host el dnsmasq (o bind9+dhcpd) contesta con el número del container que anteriormente se inició.
Mi problema está en que justamente, por motivos de desarrollo a veces damos de alta en el nginx un vhost, nos olvidamos y luego eliminamos el container. Error 500 en el nginx, es lo de menos, lo borramos, el subodominio caducó. PERO cuando se reinicia el nginx hallo el error:
[emerg] host not found in upstream
que detiene el arranque de nginx.
Y es lógico, cuando se solicita IP por el host de un container que ya no existe, la caché del DNS local caducó.
Busco una solución a este problema, porque no siempre estoy yo para salvar ese problema. La primera que se me ocurre es poner IP (en vez de server foo; usar server 10.10.1.4;) pero sería deshacer todo el tema de DNS local y DHCP para no estar atado a los números de IP.
Gracias, saludos.
Respuestas