Error Nginx 502 con localhost vs 127.0.0.1

Error Nginx 502 con localhost vs 127.0.0.1

Tengo una aplicación web ejecutándose en 127.0.0.1:8080. Inicialmente configuré mi nginx.confusando localhost:8080. Ejemplo:

location / {
    proxy_set_header Host $host;
    proxy_pass http://localhost:8080;
}

Esto funcionó bien el 99% de las veces. Sin embargo, el problema era que cuando un usuario hacía una solicitud que provocaba pánico en mi aplicación web, no solo ese usuario obtenía un error 502, sino que todo mi sitio web quedaba inactivo para TODOS los usuarios. Hasta que reinicié la aplicación web manualmente.

El comportamiento esperado era que el usuario que desencadenaba el error recibiera un error 502, pero estaría aislado para todos los demás usuarios. Por lo tanto, el sitio seguirá siendo accesible en lugar de inactivo para todos.

Estuve atascado durante mucho tiempo sobre cómo solucionar este problema. Hasta que comencé a usar 127.0.0.1:8080en lugar de localhost:8080. Entonces

location / {
    proxy_set_header Host $host;
    proxy_pass http://127.0.0.1:8080;
}

El uso 127.0.0.1:8080de mi sitio ya no estaría inactivo para todos si un usuario provocara pánico en mi aplicación web.

¿Cuál es la razón para esto? Pensé localhosty 127.0.0.1fui lo mismo. ¿Esto se debe a que al usar localhostel servidor todavía es necesario realizar una solicitud de DNS y el DNS de alguna manera no está disponible debido al error?

información relacionada