目次
はじめに
Nginx をリバースプロキシとして利用していると、バックエンドサーバーに接続できない というエラーに直面することがあります。
たとえば、以下のような症状です。
502 Bad Gateway
が表示される- ブラウザがタイムアウトする
- Nginx のエラーログに
connect() failed (111: Connection refused)
が出る
この記事では、Nginx Proxy 経由で接続できないときの確認ポイントを 具体的なコマンド例・正常/異常の出力例 とともに整理します。
確認ポイント一覧
確認項目 | 正常例 | 異常例 | 対応する解決方法 |
---|---|---|---|
バックエンドサービスが起動しているか | systemctl status で Active: running | inactive / failed | サービスを再起動する |
バックエンドのポートが LISTEN 状態か | ss/netstat に該当ポートが表示される | ポートが表示されない | バックエンド設定や起動オプションを修正 |
Nginx の proxy_pass 設定が正しいか | 設定ファイルに proxy_pass http://127.0.0.1:8080; と記載 | ポート番号やホストが誤っている | nginx.conf を修正後、設定テストと再起動 |
ファイアウォールで遮断されていないか | firewall-cmd / iptables でポートが許可済み | 該当ポートが閉じている | ファイアウォール設定で許可を追加 |
SELinux の制約がないか | getenforce が Permissive/Disabled | Enforcing で httpd_can_network_connect=off | SELinux ポリシーを変更して許可 |
詳細な確認方法と解決策
1. バックエンドサービスが起動しているか確認
systemctl status backend.service
- ✅ 正常例
Active: active (running) since ...
- ❌ 異常例
Active: inactive (dead) Active: failed
➡ 解決方法:
systemctl start backend.service
systemctl enable backend.service
2. バックエンドが正しいポートで LISTEN しているか確認
ss -lntp | grep 8080
- ✅ 正常例
LISTEN 0 128 127.0.0.1:8080
- ❌ 異常例(出力なし)
➡ 解決方法:
アプリケーション設定ファイルでポートを修正し、再起動。
3. Nginx の proxy_pass 設定を確認
cat /etc/nginx/conf.d/proxy.conf
- ✅ 正常例
location / { proxy_pass http://127.0.0.1:8080; }
- ❌ 異常例(ホスト名やポートが違う)
➡ 解決方法:
設定を修正してテスト後リロード。
nginx -t
systemctl reload nginx
4. ファイアウォールでポートが許可されているか確認
firewall-cmd --list-ports
- ✅ 正常例
8080/tcp
- ❌ 異常例(ポートが含まれない)
➡ 解決方法:
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
5. SELinux の制約を確認
getenforce
- ✅ 正常例
Permissive Disabled
- ❌ 異常例
Enforcing
➡ 解決方法:
setsebool -P httpd_can_network_connect on
まとめ
Nginx Proxy 経由でバックエンドに繋がらない場合は、以下の流れで調査するのが効率的です。
- バックエンドが動いているか(systemctl)
- ポートが LISTEN しているか(ss/netstat)
- Nginx の設定が正しいか(nginx.conf)
- ファイアウォールで許可されているか
- SELinux による制約がないか
それぞれの確認で「正常例」と「異常例」を比較しながら進めることで、問題の切り分けが容易になります。
あわせて読みたい


Nginx/Apache が起動できないときの確認手順
Web サーバーとして広く使われる Nginx や Apache (httpd) は、設定変更や環境の影響で起動に失敗することがあります。「起動コマンドを実行してもエラーが出る」「サー…
あわせて読みたい


Nginx が 502 Bad Gateway を返すときの原因と対処
概要 Nginx をリバースプロキシとして利用する際に、クライアントに 502 Bad Gateway が返ることがあります。これは 「Nginx がバックエンドサーバーと通信できなかった…