自分で運営しているwebサイトをふと見てみると「あれ!ページが表示されなくなってる!」ということが多々あります。
アクセス出来ない原因にはいろいろありますが、消去法で原因を特定していきましょう。
1.webサーバー側、クライアント側のどちらの問題なのか判断する
まずはYouTubeやFacebookなどのwebサイトを正常に開けるか確認してください。
その際にキャッシュが影響しないように、Ctrl+F5で再読込してください。
・他のサイトが正常に開く場合、webサーバー側に問題が発生している可能性があります。
・他のサイトも同じく開かない場合、クライアント側に問題が発生している可能性があります。
念の為、他のPCやスマートフォン、別回線(スマホのLTEなど)でもサイトが開けるかを確認してください。
クライアント側の問題だった場合、Wi-Fiルーターの調子が悪いだけかもしれませんし、セキュリティソフトやプラグインのせいかもしれません。
2.ブラウザのエラーメッセージを確認する
Chromeなどではエラーページに、エラーコードが表示されているので、これを見ればおおよその原因を絞り込むことが出来ます。
エラー表示されるものの例:
エラーメッセージ | エラーコード | 考えられる原因の一例 |
---|---|---|
このページは動作していません | HTTP ERROR 500 | サーバー上のファイル(php・htaccessなど)にバグがあるか、パーミッションの設定が間違っている。 |
ERR_EMPTY_RESPONSE | Apacheやnginxが正しく起動していないか、パーミッション設定が間違っている。 | |
ERR_NAME_NOT_RESOLVED | URLが間違っている、もしくはドメインの設定が間違っている。 | |
このサイトにアクセスできません | ERROR_CONNECTION_RESET | サーバーのファイヤーウォール設定が間違っている。 |
ERR_CONNECTION_REFUSED | サーバーが停止している、またはURLが間違っている。SSL証明書の有効期限切れの可能性も。 | |
ERR_CONNECTION_TIMED_OUT | サーバーが停止している、またはドメインの設定が間違っている。 |
3.障害情報が出ていないか確認する
レンタルサーバーなどを借りている場合には、サービスに障害が発生している場合も考えられます。
公式サイトなどでアナウンスされていないか確認してください。
他にも、契約しているISP(インターネット回線)に障害が発生する場合もあるので、Downdetector(別サイト)などのサービスで障害が発生していないか確認してください。
4.サーバーの設定を確認する
ブラウザのエラーメッセージを元に、考えられる原因を一つ一つ調査します。(上記表参照)
例えば500エラーなら、公開ディレクトリのphpファイルなどを重点的に調べます。
原因が不明な場合には下記を手順をお試しください。
レンタルサーバーの場合
サーバーの契約状態や稼働状態、使用容量を確認し、コントロールパネルなどからphp・perl・データベースなどの設定が正しい状態か確認します。
独自ドメインを設定している場合は、一度IPアドレスや初期ドメインでのアクセスをお試しください。そちらでアクセスできた場合は、独自ドメインの設定に問題がある可能性があります。
VPSの場合
Apacheなどのデーモンが正しく起動しているか、ファイヤーウォールの設定は正しいか、パーミッション設定は適切か、httpd.confや、php.iniに間違った指定をしていないかをご確認ください。
mod_securityやfail2banなどのセキュリティツールを導入している場合は、ログもチェックします。(403エラーが出る場合は特に。)
また、SELinuxを有効にしている場合は「setenforce 0」で一度SELinuxをオフにしてみてください。正常に開くようになればSELinuxが原因です。
この場合は、ディレクトリのラベルが間違っていたり、http関係のルールがoffになっている可能性があるので修正します。
https化しているサイトでは、証明書の有効期限やSSLの設定が正しいか確認します。
それでも動かない場合はシステムごとバックアップから動作するバージョンに戻してしまうか、お薦めはできませんが1から新しく構築するかのどれかを選んだほうが結果的に早い場合があります。