서버에서 Nginx를 리버스 프록시로 사용하고 있는데, 갑자기 502 Bad Gateway 에러가 발생합니다.
# /etc/nginx/sites-available/myapp
server {
listen 80;
server_name myapp.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
}
}
Node.js 앱이 3000번 포트에서 돌고 있는데, 어제까지는 잘 됐거든요. Nginx error log에는 "connect() failed (111: Connection refused)" 라고 나옵니다. PM2로 관리 중인데 pm2 status 보면 online으로 나옵니다.
댓글 2
502 에러 + "Connection refused"는 Nginx가 백엔드에 연결하지 못한다는 뜻입니다. PM2 online이어도 실제로 포트를 안 열고 있을 수 있어요.
확인 순서:
자주 있는 원인들:
free -h확인pm2 logs부터 확인해보시고, 앱 자체에 에러가 없는지 봐주세요!
pm2 logs 확인했더니 메모리 부족으로 앱이 계속 재시작되고 있었네요. 메모리 늘리니까 해결됐습니다. 감사합니다!