エラーコードのまとめ 【Webサーバー】

Linux

HTTPステータスコード(Webサーバーのエラーコード)について、よく発生するものをまとめておきます。

以下の構成を想定しています。
構成1: レンタルサーバー(ConoHa VPS)、CentOS 8(LAMP)、WordPress 5.X
構成2: Raspberry Pi Webサーバー(ローカルネットワーク)

背景

レンタルサーバーを契約してサイトを運用しています。また、自宅のローカルネットワークでは、Raspberry Pi や Windows を使った Webサーバーなども動かしています。

Web サーバーを動かして技術検討をしていると、ブラウザやコンソール上でサーバーのエラーをよく経験します。そこで、よく出てくるエラーコード(HTTPステータスコード)と対応例をピックアップして、パターンをまとめておくことにします。

HTTP ステータスコード

HTTP ステータスコードの5つのクラス

HTTPステータスコードは、何番台かにより5つのクラスが規定されています。まとめておきます。
100番台: ブラウザによるリクエストがあった
200番台: サーバーによりリクエストが受信された
300番台: リダイレクトがあった(リソースが置き換わった)
400番台: クライアント側のエラーが生じた
500番台: サーバー側のエラーが生じた

エラーの具体例

上記の5つのクラスの中で、エラーは400番台と500番台となっています。そこで、よく経験する具体的なコードをピックアップし、典型的な対応例をまとめておくことにします。

HTTPステータスコード 内容 具体例 対応例
403 Forbidden クライアント側のアクセスが禁止されている/アクセス権がない ① 参照しているファイル/CGIにユーザーのアクセス権が与えられていない
② メンテナンス等でWebサーバー側がアクセスを禁止した
① chmod コマンドでアクセス権を設定する
② Webサーバーが稼働していることを確認する
404 Not Found リクエスト先のリソース/ページが存在しない ① ブラウザに入力したURLが間違っている
② ページが削除されている
③ WordPress のパーマリンクの設定を間違えた/変更した
④ WordPressの管理画面に入れなくなった
① (ユーザーのミス)
② 404のエラー用のページを作っておく
③、④ WordPress、サーバーの設定を確認する
408 Request Timeout リクエストの待機後、時間切れになった ① ページのデータが重すぎる
② サーバーが混雑している
① ページのデータを削減する
② サーバーの負荷状態・グレードアップを検討する
500 Internal Server Error サーバー内部で何らかの問題が生じてリクエストを完了できない サーバーの設定を変えた
サーバーのプログラムをアップグレードをして正常動作しなくなった
サーバー本体やWebサーバーアプリ(Apache)が正常に動作していることを確認する
ファイルの権限を確認する
503 Service Unavailable サーバーが一時的に利用できない アクセス数/負荷が上限に達した サーバーの負荷状態・グレードアップを検討する

まとめ

サーバーの検討を始めた初期の頃、エラーコードと対処方法が1つに集約されたものがあったらよいのにと思っていました。そこで、よく経験する典型的なエラーコードについてまとめてみました。

レンタルサーバー(ConoHa VPS)、ワードプレス、ラズパイなど、形を変えて異なる環境でサーバーを動かしてみると(エラーを経験すると)、とても理解が深まるように思います。

関連リンク
・ “500 internal server error” が表示されたとき 【Linux】
・ アップグレード後に 500 エラーが出たとき 【Linux】
・ 記事リンクで「NOT FOUND 404」と表示されたとき
・ Raspberry Pi でローカルWebサーバー 【Python 活用】
・ 
パーミッション関連でよく使うコマンド 【Linux】

関連リンク
・ https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
   ※ エラーコードについては wikipedia がよくまとまっています。

本気で学ぶ Linux実践入門 サーバ運用のための業務レベル管理術

新品価格
¥2,950から
(2021/10/25 22:39時点)

タイトルとURLをコピーしました