HTTPステータスコード一覧と解決ガイド
Webサーバー(Nginx/Apache)やAPI連携時のHTTPエラー(4xx/5xx)の技術的解決策。ログ解析コマンドや設定ファイルの修正ポイントを解説します。
HTTPステータスコードの分類 (Classification)
HTTPステータスコードは、レスポンスのクラス(最初の数字)によって5つに分類されます。
1xx (Information)
リクエスト受信中・処理継続中の暫定レスポンス。
2xx (Success)
リクエストが正常に受理・処理された成功状態。
3xx (Redirection)
リクエスト完了には追加操作(転送など)が必要。
4xx (Client Error)
クライアント側の誤り(リクエスト不正など)。
5xx (Server Error)
サーバー側の誤り(処理失敗、過負荷など)。
主要エラーコード一覧 (Major Codes)
| Code | 意味 | 対処法 |
|---|---|---|
| 400 Bad Request | リクエスト構文不正 | Cookie削除またはヘッダサイズ確認 |
| 401 Unauthorized | Basic/Token認証失敗 | Authorizationヘッダの値を確認 |
| 403 Forbidden | 閲覧権限なし | Directory Index許可設定やIP制限を確認 |
| 404 Not Found | リソース不存在 | ドキュメントルートとURIの整合性を確認 |
| 500 Internal Server Error | サーバー内部エラー | アプリ(PHP/Python)の例外ログを確認 |
| 502 Bad Gateway | 上流サーバ無応答 | PHP-FPMやバックエンドサーバの稼働確認 |
| 503 Service Unavailable | 過負荷/メンテ中 | サーバーリソース(CPU/Mem)監視 |
| 504 Gateway Timeout | タイムアウト | タイムアウト設定値(timeout)の延長 |
まず確認すること(技術チェック)
アクセスログ/エラーログを確認しましたか?
Cmd:
Exp: エラー発生時のタイムスタンプと詳細メッセージが出力されること
Cmd:
tail -f /var/log/nginx/error.logExp: エラー発生時のタイムスタンプと詳細メッセージが出力されること
ファイルのパーミッションは適切ですか?
Cmd:
Exp: ファイルは
Cmd:
ls -l [filename]Exp: ファイルは
-rw-r--r-- (644), ディレクトリは drwxr-xr-x (755)サーバープロセスは稼働していますか?
Cmd:
Exp:
Cmd:
systemctl status nginxExp:
Active: active (running)ヘッダ情報は確認しましたか?
Cmd:
Exp:
Cmd:
curl -I -v https://example.comExp:
HTTP/1.1 200 OK などのステータス.htaccessの構文エラーはありませんか?
Cmd:
Exp:
Cmd:
nginx -t or apachectl configtestExp:
syntax is ok / test is successfulその他のエラーコード一覧
よくある質問 (FAQ)
403が出る(ファイル権限以外)
WAF(AWS WAF等)がSQLインジェクション判定でブロックしている可能性があります。WAFログを確認してください。
画面が真っ白(White Screen of Death)
PHP等のエラー表示が無効になっています。
display_errors = On にするか、サーバーログを確認してください。再発防止策
監視ツール(Datadog/Mackerel)で5xx系エラーのアラートを設定し、カスタムエラーページでUX低下を防ぎましょう。