500 internal server errorと表示される場合の原因や対処法とは?

目次

「500 internal server error」

500 internal server error

よくインターネットでいつも見るページを眺めていたら、「500 Internal Server Error」なんていう無粋なデザインの画面がブラウザ上に表示されたなんていう経験がある方は多いかもしれません。

500 internal server error

  • 「何この英語!しかもなんかよくわからない」
  • 「えー何もしてないのにエラーって何!?」
  • 「え!この画面ってもしかしてなにかに感染したりとか、そゆこと?」
  • 「どうしたら良いんだろう、エラーって・・・このまま画面閉じたら、PC壊れちゃう?」

この画面がブラウザ上に表示された時、いったいどんな風に対応するのが正しいのでしょうか?

今回は、「500 Internal Server Error」のほか、よく似た画面レイアウトのことも多い「数字から始まるエラー画面や対応方法」についてもご紹介します。

「500 Internal Server Error」とは?

この「500 Internal Server Error」という画面は、インターネットのブラウザやWEBアプリの中でもWEB画面をそのまま使用するタイプのアプリなどで、表示されます。

500 internal server error

画像の様な、先ほどご紹介した無粋な英語画面で白黒のもののほか、

ほとんど同じ内容で日本語やその他外国語のもの

500 internal server error

画像取得先:china-airlines

500 internal server error

画像取得先:South China Morning Post

またいろいろなデザインやイラストが配置されて、このメッセージが表示されているものなどがあります。

ですが、そもそも、この「500 Internal Server Error」とは何を表しているのでしょうか?

「500 Internal Server Error」はサーバーエラー

この「500 Internal Server Error」というのは、私たちがたとえばChromeやInternet Explorer、Safariなどのインターネット閲覧用のブラウザと呼ばれるソフトや、WEBソースを利用してアプリなどで表示させるための各種ツールを介してアクセスしたURL先にあるデータに、何らかのトラブルが起きているときに表示されるものです。

言い換えれば、WEB表示用のデータがあるアドレスは、通常URLによって表示させますが、ここに対応したWEB公開用のサーバや機材、通信系周り、データ、公開設定、アクセス設定などに問題がある場合に、表示されます。

この500から始まる数字のほかいくつかの数字から始まるエラーがあり、「何らかのトラブル」といっても、いくつかの大きな種類分類や原因分類によって、便宜上わけられています。

「500 Internal Server Error」はどのような場合に表示されるの?

500 internal server error

ブラウザの仕組みについて、よくわからない方もあるかもしれません。

通常、ブラウザでは、インターネットの接続先にあるWEB公開用のサーバ(接続先=一般の企業などや通信系のサービス提供企業といったところにある)の中にあるデータを、「基本的にはあまり改変することなく」自分のブラウザ上で表示させています。

インターネットやIT系ハードウェア各種の機材や技術が進展して、WEB広告やログイン画面、入力内容に応じて表示させる内容を変えているWEBサイトなどもあります。

また人が直接入力しなくても、ブラウザや各種アプリが入力すべき内容などを覚えていたり、ブラウザ内やブラウザで見ているデバイス、WEBサーバやWEBサーバで表示させるデータを分類するために設定されている各種サーバなどの機器に保存されているクッキーやデータなどを自動的に用いて、表示自体を変化させるWEBサイトも現在では豊富です。

そのため、ユーザ側からすれば、「自分でなにか操作してないのに、いつもは自動的にアクセスする環境や端末で表示が変わっている」というのが、すっかり一般的になっています。

さて、普段は何もしなくてもアクセスするだけで同じ画面が表示されるというURLから、たとえばURLを手で入力したり、検索サイトからリンクをクリックしたりなどなどの操作によって表示させているWEB画面。

このエラーはよく「500エラー」や「HTTP500」「(500)インターナルサーバエラー」などと呼ばれていますが、次のようなエラーがサーバそのものの入り口や、表示のためのサーバ内ファイル間に事故やトラブル、設定ミスなどがあって表示できないとき=ブラウザからページにアクセスすることができないときに、表示されます。

いずれも、ユーザー側からなにかを行えば正しく表示されるということはあまり多くなく、ほとんどはWEBサーバやWEB表示用の各種の機器やシステムを運用している側が対応しなければならないもの。

プログラムの一部の動作などに由来する「500 Internal Server Error」の場合には、自動的にトラブルを復旧する手段を講じているWEBサーバやシステムなどもあります。

ではここで、この「500 Internal Server Error」の場合、細かな原因から言うと、どんな原因や事象が含まれているのかを、まとめてみていきましょう。

「500 Internal Server Error」が表示される場合①アクセス集中

よく見かけられるのが、WEBのニュースサイトやテレビ雑誌などで紹介されたURLをクリックしたら、このエラーが出たというケース。

WEBサーバの中にあるデータが、外部から多数の人にアクセスされ、そしてブラウザ側からの操作などによって、サーバが表示させるデータをそれぞれのブラウザに返すプログラムが作られている場合には、とくにトラブルを防ぐさまざまな工夫が必要となります。

一度にアクセスするユーザー数や、各種のWEBサーバでの表示用に提供されるデータを生成するための処理が増えているときに、ユーザー数を制限したり、あるいは処理に対して応答させないといった処理をさせているとき。加えて、ユーザー数が多すぎてサーバやシステム自体が機能できなくなった時に、この「500 Internal Server Error」エラーが表示されます。

ちなみにWEBアプリでは、Twitterのようなケースでも、こんな日本語に置き換えた、「500 Internal Server Error」エラー表示が出ることがあります。

500 internal server error

画像取得先:Twitter

ニュースサイトなどからのリンクのほか、予約販売サイトなど、混雑しがちなサイトで、とくに予想外のアクセス数や処理数が発生したり、各ユーザーのブラウザでリロードが多数発生しているときなどに表示されがちです。

「500 Internal Server Error」が表示される場合②コンテンツが存在しない

WEBサーバと取り巻く各種のネットワークやシステム設定の仕組みはちょっと複雑で、URLは同じでも、そのURLで表示させる実際のアドレス(※数字などからできていて、参照先が違っている)は異なっていることなどもあります。

こういったとき、たとえばURLとしては正しいのに、アクセスする先が存在しないケースや、全く同じURLとアクセス先システムなのにコンテンツがないというときに「500 Internal Server Error」が表示されることがあります。

このエラーメッセージはいずれの場合も、WEBサーバとして働いている機材にインストールされているシステムの「エラー設定として、どんなケースではどんなエラーとして分類し、どんなエラーメッセージや番号で返すか」といった設定次第で表示されるもの。

特にアクセスしたところにコンテンツが存在しないケースでは、このWEBサーバにインストールされているシステムが、単にインストールされただけで、個別に設定変更されていない場合では「404 (Page)not found」「(404)お探しのページは見つかりませんでした」「404未検出」といったメッセージが出ます。

ですが設定を変更していれば、これを「500 Internal Server Error」として扱わせることもできます。

この設定を404から500にするには、WEBを運営している側からのメリットがあります。
たとえば、インターネットを利用した悪意のハッカーなどがいた場合、どこか攻撃できそうなWEBシステムを、自動で探してリストを生成させている可能性もあります。

もしアクセスした先のWEBサイトが「404エラー」であることが相手にわかったら、そこを足掛かりにさまざまな手法でのいたずらを仕掛けられることも考えられなくはありません。たとえば、アクセス先のURLがよく知られているプログラムを動かすことによって、別のURLやその他にアクセスをさせたり、ブラウザ側にその処理を読める形で返したりといったケースでは、原因が知られないほうが「より」安全性が高まります。

そのため、ちょっとした各種設定などを変えることで、この類のエラーをまとめて「500 Internal Server Error」として扱わせるほうが、セキュリティ上安全だと思われた時代も長くありました。

あとからご紹介しますが、その他の理由に該当するときに、「500エラー」のほか、この「404エラー」としてまとめて表示させることで、細かな理由を隠蔽することもありますが、これも同じ人的手法による部分も大きなセキュリティ上の理由からきています。

「500 Internal Server Error」が表示される場合③cgiやPHPなど上のバグ

500 internal server error

WEBサイトでは、たとえば掲示板やショッピングカートなどで、ブラウザ上や接続先WEBサーバに、一時的に入力データなどを仮保存させたり、恒久的に保存させたりという処理をするものがあることはよく知られるところです。よく「cgi」や「PHP」と呼ばれるサーバ内プログラムによる処理のものが知られています。

この処理の過程で、ほかのユーザー同士やシステム内部での処理が正常に終了しなかったといったエラーの場合などに、この「500 Internal Server Error」が表示されることがあります。

このケースでは、一時的に短時間、システムが復旧して正常な動作を始めるまでの数秒間などだけ表示されることもあれば、だれかWEBサーバを運用している人が手直しをするまでの間数時間や数日などたってようやく「500 Internal Server Error」が表示され続けるものなどがあります。一概に「cgi」や「PHP」を使っているからといって、いつこの表示が出なくなるとは言い切れません。

また、同様に、「cgi」や「PHP」などには非常に複雑なプログラムで動いているものもあります。

ユーザーのうち大多数が普段使う方法で使用しているときにはあまりエラーが発生しなくても、ちょっと特殊な順番でURLや処理の順路を使ってみたり、あるいは何らかの条件で普通の人があまり使用することのない「cgi」や「PHP」などの内ファイルを呼び出したとき、そのファイルの権限(=パーミッション)や、プログラムの一部が正しく機能せず、この表示が出てしまうこともあります。

俗にいう「発生する可能性があるバグが取り切れなかった」とき。

WEBサーバ内にファイルを設置したりといった作業時に、パーミッションを間違っていたり、文字コードを間違っていたり、ファイル位置自体を間違っていたり、ファイル位置を指定するファイルの記述が間違っていたり、必要なファイルが存在しなかったり・・・などなど、さまざまな理由も考えられます。

このほかにも、「cgi」や「PHP」によって、URLを生成してブラウザに返すものなどが存在しますが、その処理がうまくいかなかったときには、この「500 Internal Server Error」を返すこともあります。

「500 Internal Server Error」が表示される場合④「.htaccessファイル」に問題がある

WEBページ用のサーバとして昔から数多く使われている「Apache(=アパッチ)」というシステム(ソフトウェア)があります。

WEBページを閲覧するとき、そのURLで表示されるWEBサーバ内のディレクトリ(=階層構造の中の入れ物であるサーバ内フォルダ)にアクセスするとき、「.htaccessファイル」というファイルを利用して、ユーザー認証、アクセス制限、自動転送(リダイレクト)、エラーページのカスタマイズ設定、デフォルトファイル名変更などを個別に設定することができます。

「.htaccessファイル」そのもののミスや、「.htaccessファイル」を利用して機能する処理用プログラムやシステム内機材などのミスで、このファイル内での記述がうまく機能しない状態になっているときに、「500 Internal Server Error」が発生することがあります。

「500 Internal Server Error」が表示される場合⑤「500 Internal Server Error」と出てきているだけ

500 internal server error

先ほども「500 Internal Server Error」が表示される場合②コンテンツが存在しない」でご紹介しましたが、あらゆるエラーの原因を、すべて細かく明らかにしてしまうと、悪意のある侵入者にとって、改ざん攻撃などがしやすくなってしまいます。

そのため「500 Internal Server Error」と書かれたファイルを用意して、見せたくない場所や予期しないところにアクセスされたときに、「このファイルを見せること」で「もしかして、なにかエラーが出た?」と誤認させる対人の威圧的なセキュリティ対策のために使われていることがあります。

エラーを実際に出してこの画面を表示させるケースと、エラーを出さずに同じレイアウトやメッセージだけを表示させる方法があります。

なにも知らないユーザーが、もし操作ミスなどでこの画面をあけてしまったら・・・ちょっと驚きますよね。

「500 Internal Server Error」への基本の対処法とは?

500 internal server error

さて設定次第で、ほかにも細かくいろいろなエラーを「500 Internal Server Error」で表示に誘導して、ブラウザ上では処理することもできます。

ですが、今回ご紹介した上の5つほどのケースによる「500 Internal Server Error」が出てしまったとき、いったいユーザー側ではどうすれば、普段通りにWEBページを見ることができるのでしょうか?

いったいどんな風な対応をするのが良いのでしょうか?

「500 Internal Server Error」はサーバー側が対処するしかない

基本的に「500 Internal Server Error」表示が、エラーが原因で直接表示されるときには、いずれもサーバ側の問題。

ユーザー側で何か対応できることはありません。

ですがたとえば、「ちょっと複雑な経路でリンクをたどって得られるはずの普段のURLとは違う手順で操作したことによって表示されたブラウザ側へわたるURL」が原因で、この「500 Internal Server Error」ページにたどり着いてしまったといったときもあるかもしれません。

商品購入予約サイトでの処理や、会員情報入力ページで誤入力に気づき、途中のページまでブラウザの矢印ボタンをたどって戻り、そこで入力しなおして画面を進んだケースなどでは、直後に、あるいはいくつか先の画面処理に行ったときに、この「500 Internal Server Error」ページが表示されるようなシステムもあります。

こんな時には、いま処理をするのに使っていたブラウザや表示、セッション(=いま使用しているブラウザによる接続)を一旦破棄して、そのWEBサイトの仕様で定められた正常な位置の入り口となっているWEBページから入り直し。そして順に、ブラウザ側で後戻りすることなく、ブラウザの表示領域内にあるボタンやリンク操作だけで画面入力と遷移を行うことで、正しい表示のまま利用できることもあります。

セキュリティ要求の高い設定になってきるWEBページなどでは、たとえば会員ログインページなどまで戻って、あらためてログインや複雑な認証を行うことで、正常な状態になるものなどもあります。

あくまで各WEBページの運営者による設定仕様によるため、各WEBサイトごとに注意が必要です。

「500 Internal Server Error」と出る場合は時間をおいてアクセスしなおす

これまであまりエラーなどの表示を経験したことのないWEBページで、普段と同じ操作をして同じような画面遷移だったにもかかわらず「500 Internal Server Error」が出たといったときは、WEBサーバ側に押し寄せるユーザーで混雑していたり、動作が不安定であることなどが考えられます。

すこし時間を空けてアクセスすることで、WEBサーバやシステム側が自動のリカバリに成功していたり、あるいは担当者が手でエラー部分を修正する処理をしていたりすることもあります。

「いつもよりもなんとなく混雑していて、普段よりも動作がわるいなあ」
「今日のニュースのトレンド入りしてる」なんていうときには、時間を空けてからアクセスするほうが、スムーズに使えるようになるかもしれません。

500 internal server error

さてここまでご紹介してきた「500エラー」のほか、先ほどちょっと触れた「HTTP 404エラー」など、実は非常にいろいろな種類の数字によるエラーがあります。

たとえば、「HTTP 404エラー」の場合、この数字によるエラーメッセージは、桁によって意味があり、本404の場合、「4」はクライアント側(=ユーザー側)のエラーや、受け渡しで自動生成されるはずのURLのタイプミスなどを表しており、残り2桁の「04」部分がエラーの種類を表しています。

いろいろなエラー番号がある中でも、この404エラーについては「データがない、不在エラー」としてインターネット世代では、一般の会話でも慣用句として用いられていることはご存知ですか?

とくに英語圏でよく見かけることができ「探している人や物が見つからない」状態を示すのに「404」がチャットやメール、口語での会話でも良く使われています。

「500 Internal Server Error」以外の、数字によるエラーの場合、ユーザー側が対応することでエラー画面以外が表示できることがある

さてこうした数字によるエラーの中でも、一部のものについては、ユーザー側が何らかのアクションを起こすことで、状況が変えられるものもあります。

500番台 については「WEBサーバ側のエラー」であることはご紹介した通り。そのほかよく見かける数字表示では・・・100~300番台が現在のステイタスを表すコード。400~500番台がエラーを表す表示に割り当てられています。

100番台「処理中」

~先ほどユーザ側が依頼した処理を、サーバ側が処理するために時間がかかるときなどに表示されるメッセージ。
WEBサーバのハードウェア性能が向上した最近はあまり見かけなくなりましたが、昔CGIなどでの処理に非常に時間がかかるとき・・・検索や抽出といった処理を行う時にはよく見かけられました。

200番台「成功」

~ユーザー側が依頼した処理を「リクエスト」と呼びます。このリクエストの受付に、WEBサーバが成功した時が200番台。
現在のWEBサーバとブラウザなどの端末側システムでは、この200番のステイタスを利用したメッセージを表示する流れになっていることはほとんどありません。

300番台「リダイレクト」

~200番台でいうリクエストを行ったとき、ブラウザ側でつぎの画面を表示させるのに追加処理を実行させる必要があるケースがあります。これを「リダイレクト」と呼び、別のURLへの移動などのための操作(WEBシステム側とブラウザやセキュリティ側設定の組み合わせによっては、自動のものもあれば手動操作が必要なものもある)が必要なステイタスを表します。

400番台

~「クライアントエラー」~ユーザ側(=クライアント側で、ユーザ本人に原因がある他、ブラウザや、PC内などのキャッシュや自動処理に原因があることもある)に原因があるエラー。

さて、この中で、自分で操作することで、対応できる可能性のあるものについて、ほんの一部ですがご紹介します。

「301 Moved Permanently」

300番台はリダイレクト。

恒久的にもうずっと、とあるURLについては、ほかのところに移動してしまったといったときに表示されます。

いつもブックマークなどで同じサイトを表示させようとしたらこのメッセージが出るなら、ブックマークやキャッシュなどを入れ替えるのが良いでしょう。

「302 Found」「302 Moved Temporarily」

301番とよく似ていますが、

一時的にとある作業やサーバなどの事情によって、とあるURLについては、ほかのところに移動してしまったといったときに表示されます。

どの程度の頻度で一時的となるのかは、設定側の意向でことなるため、あまり長期間この状態表示が続くようなら、ブックマークやブラウザキャッシュの入れ替えを行うのもよいでしょう。

「304 Not Modified」

こちらも301、302とよく似ていますが、「未更新」を表すステイタス表示。

WEBページの中には、一部分だけが頻繁に差し変わり、それ以外はキャッシュなどを利用して表示させているものもあります。

このキャッシュは、ユーザ側ブラウザとユーザ側端末内のこともあれば、WEBサーバの表示をスムーズにするために、外部のミラーリングやバックアップ用サーバなどでとられていることもあります。

この304のステイタスが返ってくると通常は、WEBサーバ側からはデータがブラウザに送られてこないため、ユーザ側端末内のキャッシュデータを利用して表示させることになります。

もうちょっと複雑なシステムでは、元のWEBサーバから、外部のミラーリングやバックアップサーバ内でこのステイタスのやり取りがあり、その時のステイタス表示に従って、元のWEBサーバの情報ではなく外部のミラーリングやバックアップサーバ内の情報をとっていることもあります。

社内LAN内などローカルのネットワーク内で、こうしたステイタスを利用した処理をしていてこの「304を利用した表示がされる」、「表示された情報が古い」などの場合には、原型リソースとなっているWEBサーバにアクセスすることで、正しい現在のデータをとれるなら正規の表示が得られることもあります。

通信料節約や、ファイル比較などを外部にサーバ内にあるクロールしたデータをつかっておこなっているときに304ステイタスを利用した表示があるときにも、本来のWEBサーバ側にアクセスして、ブラウザ内キャッシュや、外部に別にとったデータを新しく取得しなおすとよいでしょう。

「403 Forbidden」

サーバ側からすると、外から見えないようにと設定して伏せてあるディレクトリ(=階層をあらわすURL表示など)を指定した時に帰ってくるエラーステイタス表示。

たとえば誰かの名刺などにあるURLなどを正しく入力したはずなのに、この表示が出るときには、入力が間違っている可能性が高いものです。

もう一度URLを入力しなおすか、URL中で半角の「/」で区切られているアドレスの一部分の中で、右側から順に、1ブロックずつ区切って上の階層にあがり、どこなら正しくみられるか、そしてその位置からリンクをつたって移動できるかを試してみるとよいでしょう。

また、自分が設定したインターネットのWEBページなどで、URLは間違いなく正しいのにこの表示がでるときには、ファイルの名前や拡張子、パーミッション、位置関係などが間違っているときに多いので、一度アップロードして設定を最初からやり直すのが良いでしょう。

「404 Not Found」

先ほどご紹介した、ファイルが見つからないケース。
入力間違いで403ではなく404表示があるケースもあるため、403と同じような方法で試してみるのもよいでしょう。

「410 Gone」

依然存在していたURLが、今はなくなってしまったときに、設定されていれば表示されるエラーステイタス。

ブックマークやキャッシュを入れ替えることで表示自体はされなくなるほか、以前に表示させていたときのページをどうしても調べたいなら、以前のブラウザキャッシュのバックアップからデータを探すか、Google検索結果から「Cash」を表示させるとよいでしょう※。
(※かならずしもすべての検索結果やCashが表示されるわけではありません)

「503 Service Unavailable」

WEBサーバへの負担が非常に高すぎるため、一時的にWEBページが表示されないときに表示されることもあるエラーステイタス。

このステイタスをエラー通りそのまま表示させることもあれば、500エラーに置き換えることもあります。

またWEBメンテナンスの間などにWEBサーバを外部に公開しない、あるいは停止させるときに、この503エラー表示画面をあえて表示させることもあります。

俗にいうツイッターのクジラ画面が、この503エラーステイタスを利用したものとして有名です。

まとめ

500 internal server error

いかがでしたか?」

今回は、「500 Internal Server Error」について、そして数字から始まるブラウザで表示されるエラーについて、よく見かけるものを中心に、「ブラウザをつかって、あるいはアプリをつかって、インターネットのWEBページを表示閲覧するユーザー目線」からすこしご紹介しました。

自分がインターネットのホームページや、Wordpress、CGIなどを活用してサイト運営したいという時には、この数字によるエラーメッセージなどについてはもうすこし詳しく知らなければいけません。

ですが、今回ご紹介した程度の内容を知っていれば、WEBページ閲覧については、「こんなページが表示されちゃったけど、大丈夫かなあ?」なんて不安になることはないはずです。

【編集部より】あなたの感想を教えてください

こちらの記事はいかがでしたか?もし同じ疑問を持っている知り合いがいた場合、あなたがこの記事を友人や家族に薦めたりシェアしたりする可能性は、どのくらいありますか? より良い記事を作るための参考とさせていただきますのでぜひご感想をお聞かせください。
薦めない薦める

この記事を書いた人

Small 7d825f8d 03c5 4174 981e 9851bd78fd73
Written By
ミラーボール ツルピカハゲ丸
いつあの世に行ったのかわからない、そんな緑の紋付です
もともと、髪の毛が薄く、いつも地肌がほんのり光っている・・・なよ竹のミラーボール・ツルピカハゲ丸を勝手に襲名しようと思っていたら、本家がどこかに行ってしまいました。 ジジィ、はえーよ。 小さなころから家電豊富な家庭に育ち、今も現役のパソピアIQやカセットビジョンから新製品には縁のある環境。新製品も一通り押さえていますが、レトロ家電も捨てずに現役で使えるコンディションにあるのが自慢です。 製品選びのこだわりをお伝えできればと考えています。

おすすめの記事

スポンサー

カテゴリ一覧