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

644
Visualizações
AWS ElasticBeanstalk NodeJS: error 502: recv() falló (104: conexión restablecida por el par) al leer el encabezado de respuesta desde arriba

Estamos planeando migrar nuestra plataforma NodeJS de EC2 simple a ElasticBeanstalk. Durante este proceso, después de algunas dificultades, implementamos nuestra aplicación y pudimos acceder y realizar acciones. Sin embargo, para algunas solicitudes, recibimos el error 502 .

Después de revisar los registros que encontramos a continuación;


/var/log/nginx/error.registro

2020/03/16 06:12:09 [error] 3009#0: * 119488 recv() falló (104: conexión restablecida por el par) al leer el encabezado de respuesta del flujo ascendente, cliente: xxx.xx.xx.xxx, servidor: , solicitud: "POST /www_auth/register HTTP/1.1", upstream: " http://127.0.0.1:8081/register ", host: "****.us-east-2.elasticbeanstalk.com"

Ocurre al azar y no tengo ni idea. Siento algunos cambios en el nivel de configuración que me perdí/necesito agregar con nginx.

Si tiene algún paso/sugerencia para resolver esto, ¡se lo agradezco!

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

AWS Elastic Load Balancer se conecta previamente a los servidores de backend y puede provocar una condición de carrera en la que ELB cree que una conexión está abierta, pero el backend de Node.js ya la ha cerrado, debido a server.keepAliveTimeout de 5 segundos de inactividad inactiva, el valor predeterminado en Node.js 8.x y posteriores.

Deshabilite server.keepAliveTimeout y server.headersTimeout para solucionar este problema, o establezca estos tiempos de espera en un valor de ms mayor que el valor de tiempo de espera inactivo de AWS ELB.

 const app = express(); // Set up the app... const server = app.listen(8080); // Disable both timeouts server.keepAliveTimeout = 0; server.headersTimeout = 0;

El crédito por esta solución es para Shuhei Kagawa:

https://shuheikagawa.com/blog/2019/04/25/keep-alive-timeout/

over 4 years ago · Santiago Trujillo Relatório
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