症状
502 Bad Gateway
nginx/1.xx.x
原因と解決方法
バックエンドサービスが起動していない
systemctl status アプリ名
docker ps
systemctl start アプリ名
nginxの設定でポートが間違っている
# 正解
location / {
proxy_pass http://localhost:3000;
}
Docker環境でのホスト名が間違っている
# 間違い
proxy_pass http://localhost:3000;
# 正解(サービス名を使う)
proxy_pass http://app:3000;
ログで確認する
tail -f /var/log/nginx/error.log
ハマったポイント
- Docker環境では
localhostではなくサービス名でアクセスする - バックエンドが起動していない場合が一番多い