Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

437
Visualizações
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
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda