You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将Node.js后端部署到AWS ELB时遭遇502 Bad Gateway/Nginx错误求助

AWS ELB部署Node.js后端出现502 Bad Gateway/Nginx错误排查与解决

问题描述

部署Node.js后端到AWS ELB(已配置AWS RDS PostgreSQL)时出现502 Bad Gateway错误,Nginx日志显示:

"http://127.0.0.1:8080/", host: "172.31.30.177"
2022/12/01 21:42:06 [error] 32487#32487: *55 connect() failed (111: Connection refused) while connecting to upstream, client: 172.31.42.14, server: , request: "GET /.env HTTP/1.1", upstream: "http://127.0.0.1:8080/.env", host: "54.242.94.106"

同时环境健康状态从Degraded变为Severe:100%请求触发HTTP 5xx错误,所有ELB实例进程不健康,初始化完成耗时86秒,所有实例服务受损。

Node.js服务器代码如下:

const express = require('express')
const server = express()
const PORT = process.env.PORT
const cors = require('cors')
const pizzaRouter = require('./api/pizza/pizza-router')
const toppingsRouter = require('./api/toppings/toppings-router')

server.use(express.json())
server.use(cors())
server.use('/api/pizza',pizzaRouter)
server.use('/api/toppings',toppingsRouter)

server.get('/', (req,res) => res.json({message:'This better work'}))
server.listen( PORT, () => {
    console.log(`Server listening on PORT ${PORT} `)
})

注:未给PORT环境变量赋值,之前尝试443、5000等端口均无效。

核心原因与解决步骤

1. 端口不匹配导致连接拒绝

Nginx日志明确显示尝试连接127.0.0.1:8080但被拒绝,说明Node.js服务实际监听端口与Nginx/ELB转发端口不一致。

  • 固定监听端口并同步配置:修改Node.js代码,添加默认端口兜底,避免PORT未赋值时服务无法启动:
    const PORT = process.env.PORT || 3000;
    
  • 检查Nginx配置:确保upstream指向Node.js实际监听的端口:
    upstream node_server {
        server 127.0.0.1:3000; # 与Node.js监听端口保持一致
    }
    

2. ELB健康检查配置错误

ELB实例不健康,说明健康检查的路径、端口或协议不匹配:

  • 确认ELB健康检查端口与Node.js服务监听端口一致;
  • 健康检查路径指定为服务中存在的接口(比如根路径/),确保返回200状态码;
  • 检查安全组规则:允许ELB所在安全组访问EC2实例的服务端口,同时EC2安全组开放该端口的入站规则。

3. 环境变量未正确传递

若使用环境变量指定PORT,需确保部署环境已正确设置:

  • 若用Elastic Beanstalk,在控制台配置 > 软件中添加PORT环境变量并设置值;
  • 若直接部署在EC2,在启动脚本中通过export PORT=3000注入环境变量后再启动服务。

4. 服务启动失败排查

即使编译完成,仍需确认Node服务是否正常运行:

  • 登录EC2实例,执行netstat -tulpn | grep node查看是否有进程监听指定端口;
  • 查看Node服务启动日志,排查是否存在依赖缺失、RDS连接失败等导致服务启动后立即退出的问题。

内容的提问来源于stack exchange,提问作者Maybewecanhelp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 15:15:41