Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

376
Vistas
¿Cómo soluciono este error NGINX 502 Bad Gateway?

Estoy trabajando en sockets web en una aplicación angular. Lo tengo conectado a un back-end de python a través de nginx. Descubro que obtengo errores 502 "Bad Gateway" aproximadamente el 90% del tiempo. Haré esto:

  1. Cargue la página en el navegador y conecte el socket web
  2. El back-end de Python envía datos al front-end angular
  3. Desconecte el enchufe web
  4. Intento de volver a conectar el socket web <-- 502 Error de puerta de enlace incorrecta
  5. Recarga dura en Chrome
  6. Cargue la página en el navegador y conecte el socket web <-- No hay error 502

No puedo entender por qué sucede esto. No puedo decir por qué recibo un error 502. Tampoco puedo entender por qué hacer una recarga dura soluciona el problema. Cosas que he probado:

  • Aumente el nivel de registro de nginx para depurar. Todavía los registros no tienen ninguna información útil.
  • No mantengo ningún objeto de socket web en estado. Hago esto en caso de que algo se almacene en caché en alguna parte.
  • Siempre cierro el socket web con el código de cierre 1000
  • Ejecuto manualmente el servicio python en el servidor para poder verlo. Cuando ocurre el error 502, el servicio no muestra nada inusual.
  • Estableciendo nginx max_fails en 0. Estableciendo fail_timeout en 0. Ninguno de estos cambios parece tener ningún efecto. (Encontré esta sugerencia en otras respuestas SO)

¿Qué debo buscar que me ayude a solucionar este problema?

EDITAR: Aquí está mi archivo nginx conf.d:

 server { listen 80; index index.html; root /var/www/mysite; location / { access_log /var/log/nginx/mysite/ui.access.log; error_log /var/log/nginx/mysite/ui.error.log; try_files $uri $uri/ /index.html; } location /ws/ { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Host $proxy_host; proxy_pass http://WEBSOCKET/; access_log /var/log/nginx/mysite/ws_services.access.log; error_log /var/log/nginx/mysite/ws_services.error.log; proxy_read_timeout 300s; } } upstream WEBSOCKET { ip_hash; server 127.0.0.1:8765; }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No es el mismo problema que tuvo el OP, pero en caso de que alguien se encuentre con esto y tenga la misma configuración que yo tenía:

Estaba usando WebSockets sobre SSL (protocolo wss:// ) y apareció 502, aunque la configuración había funcionado antes. La configuración fue la siguiente:

 ... proxy_pass http://127.0.0.1:8080; ...

En el backend, estaba usando un nodo con el paquete ws para crear un servidor websocket

Como dije: funcionaba antes, pero de repente dejó de funcionar. Además, nginx escribió upstream prematurely closed connection while reading response header from upstream en el registro de errores. Supongo que nginx o node cerraron algún tipo de problema de seguridad, lo que provocó que la configuración ya no funcionara.

Lo que tenía que hacer para que funcionara era usar https en lugar de http para la configuración de proxy_pass

 ... proxy_pass https://127.0.0.1:8080; ...
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda