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)の延長

まず確認すること(技術チェック)

1
アクセスログ/エラーログを確認しましたか?
Cmd: tail -f /var/log/nginx/error.log
Exp: エラー発生時のタイムスタンプと詳細メッセージが出力されること
2
ファイルのパーミッションは適切ですか?
Cmd: ls -l [filename]
Exp: ファイルは -rw-r--r-- (644), ディレクトリは drwxr-xr-x (755)
3
サーバープロセスは稼働していますか?
Cmd: systemctl status nginx
Exp: Active: active (running)
4
ヘッダ情報は確認しましたか?
Cmd: curl -I -v https://example.com
Exp: HTTP/1.1 200 OK などのステータス
5
.htaccessの構文エラーはありませんか?
Cmd: nginx -t or apachectl configtest
Exp: 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低下を防ぎましょう。