Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

378
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!