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

435
Views
Nginx Proxy Pass a API externas: 502 Bad Gateway

Problema: tengo un proxy inverso nginx instalado en un servidor ubuntu solo con IP privada. El propósito de este proxy inverso es enrutar la solicitud entrante a varios sockets web y RestAPI de terceros. Además, para distribuir la carga, tengo un equilibrador de carga http ubicado detrás del servidor proxy nginx.

Así es como se ve técnicamente:
IncomingRequest --> InternalLoadBalancer(Port:80) --> NginxReverseProxyServer(80) --> ThirdParyAPIs(Port:443) & WebSockets(443)

El problema que tengo es que Nginx no invierte_proxy correctamente en las RestAPI y da un error 502, pero funciona correctamente para Web Sockets.
A continuación se muestra mi archivo de configuración /etc/nginx/sites-available/default : (No se realizan cambios en ningún otro lugar)

 map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; location /binance-ws/ { # Web Socket Connection ####################### THIS WORKS FINE proxy_pass https://stream.binance.com:9443/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; } location /binance-api/ { # Rest API Connection ##################### THIS FAILS WITH 502 ERROR proxy_pass https://api.binance.com/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; } }

Incluso intenté agregar https://api.binance.com:443/ pero no tuve suerte.

La conexión websocket funciona bien:
wscat -c ws://LOADBALANCER-DNS/binance-ws/ws/btcusdt@aggTrade

Sin embargo, el siguiente falla:
curl http://LOADBALANCER-DNS/binance-api/api/v3/time

Cuando veo los registros de nginx para el error 502, esto es lo que veo:
[error] 14339#14339: *20 SSL_do_handshake() failed (SSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) while SSL handshaking to upstream, client: 10.5.2.187, server: , request: "GET /binance-api/api/v3/time HTTP/1.1", upstream: "https://52.84.150.34:443/api/v3/time", host: "internal-prod-nginx-proxy-xxxxxx.xxxxx.elb.amazonaws.com"

Esta es la llamada RestAPI real que estoy tratando de simular desde nginx:
curl https://api.binance.com/api/v3/time

He revisado muchas publicaciones casi similares, pero no puedo encontrar qué/dónde me estoy equivocando. ¡Aprecio tu ayuda!

over 4 years ago · Santiago Trujillo
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!