※本ページにはプロモーション(広告)が含まれています
インターネットでWebサイトを閲覧していると、たまに数字と文字が書かれたページだけが返されます。この状態になると本来見たいページが閲覧できないのが難点。
そこで今回は、ページ閲覧に失敗した際に出てくる表示の中でも「403エラー」に焦点を当てて、その正体や原因、対処方法をご紹介。対処方法を知っているかどうかで情報能力にも差がつくので、この機会に覚えて帰ってください。
この記事のまとめ
この記事のまとめ
403エラーForbiddenとは
403エラーとは
Webサイトを閲覧しようとしたら404 Not Foundや401 Unauthorizedといったメッセージが表示されページを閲覧できなかったという経験をお持ちの方は多いのではないでしょうか?
404 Not Foundや401 Unauthorizedといった、3桁の数字とそれに続く英語の組み合わせをHTTPステータス、そしてHTTPステータスにおける3桁の数字をHTTPステータスコードと言います。
HTTPステータスは、Webサイトにアクセスする際にWebサーバ上で行われた処理の結果を表します。特に400番台や500番台のHTTPステータスコードはエラーが生じたことを意味します。
つまり、403エラーとはWebサイトにアクセスする際に発生した、HTTPステータスコードが403番のエラーということになります。
403エラーが表示される仕組み
パソコンに慣れなかったりWebサイトに関する知識が乏しかったりすると、ページの閲覧に失敗してエラーメッセージが表示されたとき「訳の分からない数字やら英語が出てきた・・・」と混乱してしまうかもしれません。
その際エラーメッセージが表示される仕組みを知っていれば必要以上に混乱してしまうことを避けれらます。
ここでは403エラーが表示される仕組みについて詳しく見ていきましょう。
クライアントとサーバ
皆さんも普段から様々なWebサイトを閲覧しているかと思います。ここでWebサイトにアクセスする側のコンピュータをクライアントといい、クライアントにWebサイトを提供する側のコンピュータをサーバといいます。
ここで重要なのは私たちがインターネット上のサイトを閲覧できるのは、クライアントとWebサーバがHTTP通信を行っているからだということです。
HTTP通信とは
HTTP(Hypertext Transfer Protocol)とは、インターネット上でクライアントとWebサーバが相互に通信するための手続きや約束事を指します。ちなみに通信における約束事のことをプロトコル(protocol)といい、HTTPは数あるプロトコルの中でも代表的なものとされています。
つまりHTTPという約束事に則った通信がHTTP通信であるわけですが、その流れを簡単に言えば「クライアントがWebサーバに要求し、サーバがそれに応答する」というものです。
ここで「要求」「応答」という単語が出てきましたがイメージしにくい単語なので詳細に説明します。
まず、HTTP通信における要求とはここではどういったものを指すのでしょうか。これはクライアントがリクエスト情報(閲覧しようとしているWebサイトのURLや、クライアント自身の情報)をサーバに渡すことです。
次に応答です。これはWebサーバが前述の「要求」に対してレスポンス情報(コンテンツやコンテンツの構成情報、サーバ自身の情報など)をクライアントに送ることを言います。ここではWebサイトがコンテンツに当たります。
まとめると、コンテンツであるWebサイトを見せてくれとクライアントからWebサーバに要求し、Webサーバから見せてもいいと応答が来る。こうして私たちは目当てのWebサイトを閲覧できるわけです。
「403 Forbidden」はHTTPステータス
ここからが本題です。
先ほど説明したWebサーバからの応答ですが、応答の際にクライアントに送られるレスポンス情報には先ほど説明したHTTPステータスが含まれます。ここでエラーを意味するHTTPステータスがクライアントに送られてしまうとWebサイトが閲覧できないのです。
Webサーバが何らかの理由でクライアントにアクセスする権利を認めなかった場合にHTTPステータス「403 Forbidden」がレスポンス情報としてクライアントに送られます。
403エラーのHTTPステータスは403 Forbiddenです。Forbiddenは直訳すると「禁止された」という意味の英語です。ですので、403 Forbiddenとは特定のアクセスに対してWebサイトの閲覧を禁ずる、拒否するという意味を持つことになります。
403エラーForbiddenの原因
403エラーはWebサイト管理者が遭遇しやすい
403エラーは、Webサーバがクライアントに対してアクセス権限を認めなかった場合に発生するもの。しかし、クライアント側に問題があるというよりは、Webサイト側の設定ミス・不備が原因とされるケースが多くあります。
特に403エラーに遭遇しやすいのはWebサイトの管理者。管理者としてWebサイトを立ち上げていても、利用する際はクライアントという立場です。その際に誤ったサーバ設定をしてしまうと自分ですらアクセスできなくなります。これは設定を誤ったことが原因なので、再びやり直さなければなりません。
403エラーの原因
403エラーの考えられる原因について、簡単に紹介します。
レンタルサーバの期限切れ
インターネット上に自分のWebサイトを運営するにはデータを保管する”場所”を用意しなければなりません。そしてその”場所”となるのがサーバです。
大抵のWebサイト管理者はレンタルサーバ会社(「ロリホップ!」や「さくらのレンタルサーバ」などが有名)と契約を交わしてサーバをレンタルしますが、このレンタルサーバの契約期限が切れているとそのサーバ上のWebサイトへのアクセス権が制限され、これが403エラーの原因となります。
独自ドメインの期限切れ
レンタルサーバの期限切れと同様、独自ドメインの契約が切れていても403エラーが表示される可能性があります。独自ドメインは基本的に年単位の契約になり、気づいたら期限が切れることもあるので、メールなどを見逃さないようにしてください。
WAF
ロリホップやmixhostなどのレンタルサーバにはWAFという機能があります。WAF(Web Application Firewall)とは、外部からの不正アクセスからWebアプリケーション(Webサイト)を守る機能のことで、通常のファイアウォールよりもWebサイトの防衛に特化したものとなっています。
WAFは設定で「有効」と「無効」の2つの状態から選べるのですが、「有効」にしてしまうとたとえWebサイトの管理者からのアクセスでもWAFが不正アクセスと誤って判断してしまい403エラーが発生する場合があります。
.htaccessの設定が不適切
.htaccess(ドットエイチティーアクセス)とは、ディレクトリ単位でWebサーバを制御できる設定ファイルのことです。具体的にはID・パスワード認証によるアクセス制限をかけたり、特定のIPアドレス・ドメインに対してアクセスを許可(または拒否)したりすることができます。
.htaccessの中身が文字化けなどにより1文字でも間違っている場合はWebサイトにアクセスした際に403エラーが発生してしまうので、403エラーに遭遇したら.htaccessをチェックする必要があります。(.htaccessの詳しい書き方)
403エラーForbiddenが表示された場合の対処法3つ
その1:サーバ・ドメインの契約を更新する
レンタルサーバ・ドメインの契約期限切れが原因で403エラーが表示される場合は、料金の支払いを済ませて更新するのが適切です。
支払い状態がわからなければ、ドメイン・サーバの管理画面に入って契約状態の確認、登録メールアドレスに契約会社から連絡が来ていないかを見てください。契約期限が切れていることが確認できたら、カードか現金で速やかに支払いを済ませます。
注意点として、契約切れが原因で403エラーが表示されている場合は迅速な対応が必要です。サーバの場合は契約切れになるとエラー表示がされ、一定期間支払いが確認できれなければデータが完全に抹消されます。
そうなると再びサーバの契約からやり直さなければならず、バックアップを取っていなければサイトのコンテンツを全て失うことになりかねないので大ごとです。
ドメインの場合は、契約が切れると同時に使用していたものがほかの人にも開放され、最悪の場合は取られる可能性も存在。一度取られたドメインは契約者が開放しない限り一生取り戻すことは不可能になるほか、築いたドメインパワーも失います。
サーバならバックアップを取っていれば立ちなおす手間は少ないものの、ドメインを失うと検索エンジン上の地位も知名度ゼロから再スタートになるので、継続してWebサイトを運営する意志があるなら迅速に対応してください。
その2:WAFを一時的に「無効」に設定する
あなたがWebサイトの管理者で、例えばレンタルサーバ「ロリホップ!」を使用していて403エラーに遭遇したら、ロリホップ管理画面にログインし、WEBツール→WAF設定から、WAFを無効にしたいドメインの無効ボタンをクリックします。Webサイトへのアクセスが済んだら忘れずにWAFを有効に戻しましょう。
その3:.htaccessを修正する
.htaccessを修正する場合は、ファイルを開く前にバックアップを取っておきましょう。(.htaccessの詳しい書き方)
その4:ファイルのアクセス権限を確認する
ファイルの権限が適切に設定されていないと、権限のないユーザーが権限のない行動をしようとした時に「403 Forbidden」が表示されてしまう場合があります。
ファイルのアクセス権限(パーミッション)は「777」などの3桁の数値で現れます。
それぞれの桁数と該当するユーザーは次の通りです。
- 3桁目(先頭):所有者
- 2桁目:所有グループ
- 1桁目:その他ユーザー
ウェブブラウザを通じてサイトを見るユーザーなどは、1桁目のその他ユーザーに該当します。
各桁に表示される数字と意味は次の通りです。
- 7:ファイルの読込・変更・実行を許可
- 6:ファイルの読込・変更を許可
- 5:ファイルの読込・実行を許可
- 4:ファイルの読込を許可
- 0:全て許可しない
つまり、「777」であればどのユーザーに対して読込・変更・実行を許可していることになりますが、「700」の場合には、所有者に対しては全ての権限を付与している一方で、所有者以外には全ての権限を拒否しているということになります。
Ubuntuなどパーミッション管理が厳格なOSを利用している場合は、このファイル権限の管理で「403 Forbidden」を引き起こしてしまうことがありますので、よく注意するように気をつけましょう。
その5:ディレクトリにindexファイルがない
そもそもディレクトリに「index」ファイルが設置されていない場合もエラーの原因となります。
ディレクトリには、「index.html」や「index.php」などのファイルが必ず必要となりますので、設置を忘れないようにしましょう。
その6:ネームサーバーの設定を確認する
ネームサーバー関連にトラブルが発生した時も403エラーが発生してしまう場合があります。
CloudflareなどCDNサービスを利用していて、この契約更新にエラーが発生してしまうと、設定しているCloudFlareのネームサーバーが利用できなくなってしまい、サーバーやドメインの失効と同様の問題が出てきてしまいます。
また、何らかの要因によって利用サービスのネームサーバーが変更する場合も対応が必要であり、重要な連絡は見落とさないようにしておくことが大切です。
あなたが閲覧者の場合にできる対処法
403エラーの原因はWebサイトの管理者だけではない!?
403エラーの原因は、サーバ・ドメインの契約期限切れやWAF・.htaccessなどの設定誤りといった管理者側に不随するものが多くありました。一方、閲覧者側が原因で発生する可能性も存在。
Webサイトにアクセスする人が増加したことでサーバがアクセス制限をかけてしまうというもので、DOS攻撃を受けているほか、何らかの原因で見に来る人が増えた場合に発生します。
時間をおいてアクセスする
403エラーは管理者側の裁量に任されるため、閲覧者は時間を置いてアクセスするのが対処法です。時間を置いても管理者が対処していなければアクセスはできないので、お問い合わせの窓口があれば報告する程度なら可能。
やり方としては目的のページを開いておき、定期的にキーボードのF5を押して再起動、またはページは閉じてアクセスからやり直してください。
キャッシュの削除・スーパーリロード
管理者側の対処が完了しているにも関わらずページが開けない場合は、キャッシュの削除またはスーパーリロードが有効です。キャッシュは一度開いたページの情報を事前に読み込んでおき、後から開いた際にすぐに表示されるような仕組み。
ブラウザを利用していて会員制のサイトを開いたら既にログインしている状態だった、ユーザーIDやパスワードが入力されていた、というのはキャッシュが働いています。
403エラーもキャッシュによって事前に読み込まれていると、対処が完了したのにエラー画面を素早く返してくるという状態になる可能性があり、削除などが有効という感じです。
キャッシュの削除はブラウザやデバイスによってやり方が変わりますが、Chromeの場合は「閲覧履歴データを消去する」から行えます。また、キャッシュだけでなくスーパーリロードもおすすめ。
キャッシュはブラウザに残されているデータを全て削除するため消したくないものまでなくなるのが難点ですが、スーパーリロードはページ単位で再読み込みをかけるイメージなので手間が省けます。
スーパーリロードのやり方は、ブラウザならキーボードの「Ctrl+F5」でできるものがほとんど。SafariやMicrosoft Edgeは「Ctrl+R」です。
異なるブラウザを使用してみる
また、403Forbiddenが継続する場合は、異なるブラウザや端末、IPアドレスからアクセスしてみてください。
もしかすると一度に大量アクセスしたことなどが原因で一時的にアクセス禁止の措置を取られているかもしれません。
この場合、異なるIPアドレス・端末からアクセスすると問題なく表示されたりします。
WordPressで403エラーが発生した場合の対処法
WordPressで403エラーが発生した場合、考えられる原因と対処法はいくつかあります。
- .htaccessファイルの誤設定:
- 原因: .htaccessファイルに誤った記述があると、全てのアクセスが拒否されることがあります。
- 対処法: .htaccessファイルをバックアップした後、一度削除して様子を見る。問題が解決しない場合は、正しい記述に修正する。
- プラグインの競合:
- 原因: インストールしているプラグインが他のプラグインやコアファイルと競合し、403エラーを引き起こすことがあります。
- 対処法: 疑わしいプラグインを一時的に無効にして、問題が解決するか確認する。
- パーミッションの問題:
- 原因: ファイルやディレクトリのパーミッションが適切に設定されていないと、アクセス権限が制限されることがあります。
- 対処法: FTPクライアントなどを使って、ファイルやディレクトリのパーミッションを正しい値に設定する(通常は755)。
- wp-config.phpの誤設定:
- 原因: wp-config.phpファイルに誤った設定があると、WordPressの動作に影響し、403エラーが発生することがあります。
- 対処法: wp-config.phpファイルをバックアップした後、設定内容を確認し、誤りを修正する。
Cloudflareを利用している場合の403エラー
Cloudflareを利用している場合、以下の設定が403エラーの原因となることがあります。
- セキュリティレベル: セキュリティレベルが高すぎると、誤って正当なアクセスをブロックしてしまうことがあります。
- WAFルール: WAFルールが厳しすぎると、403エラーが発生することがあります。
- IPアドレス制限: 特定のIPアドレスからのアクセスを制限している場合、403エラーが発生します。
対処法:
- セキュリティレベルを下げる: 一時的にセキュリティレベルを下げて、問題が解決するか確認する。
- WAFルールを調整する: 疑わしいWAFルールを無効にして、問題が解決するか確認する。
- IPアドレス制限を解除する: 誤って制限をかけている場合は、制限を解除する。
403エラーに関するよくある質問と回答例
質問1:403エラーはなぜ発生するのですか?
回答: 403エラーは、Webサーバーが「このページへのアクセスは許可されていません」と判断した場合に発生します。主な原因としては、サーバーの設定ミス(.htaccessの設定誤り、アクセス権限の問題など)、サーバーの負荷が高い状態、または一時的なネットワークトラブルなどが考えられます。
質問2:403エラーが出た場合、ユーザーとしてできることは何ですか?
回答: ユーザーとしてできることは限られていますが、以下のことを試してみてください。
- しばらく時間をおいてから再度アクセスする: サーバー側の問題で一時的にアクセス制限がかかっている可能性があります。
- ブラウザのキャッシュをクリアする: ブラウザに古い情報が残っている場合、エラーが解消されないことがあります。
- 別のブラウザでアクセスしてみる: 使用しているブラウザに問題がある可能性があります。
- 他の端末からアクセスしてみる: ネットワーク環境に問題がある可能性があります。
- Webサイトの管理者に問い合わせる: 上記を試しても改善されない場合は、Webサイトの管理者に問い合わせてみましょう。
質問3:Webサイトの管理者として403エラーを解消するにはどうすればよいですか?
回答: 403エラーの原因は様々ですが、一般的な対処法としては以下のものが挙げられます。
- .htaccessファイルを点検する: .htaccessファイルに誤った設定があると、403エラーが発生することがあります。ファイルの内容を確認し、誤りを修正しましょう。
- ファイルのパーミッションを確認する: ファイルのパーミッションが適切に設定されていないと、アクセス権限が制限されることがあります。
- サーバーのログを確認する: サーバーのログを確認することで、エラー発生時の詳細な情報を確認できます。
- WAFの設定を確認する: WAFが誤動作している可能性があります。WAFの設定を見直しましょう。
- レンタルサーバーのサポートに問い合わせる: 自力で解決できない場合は、レンタルサーバーのサポートに問い合わせてみましょう。
質問4:403エラーと404エラーの違いは何ですか?
回答: 403エラーと404エラーはどちらもエラーですが、意味が異なります。
- 403エラー: アクセスが許可されていないことを意味します。
- 404エラー: 要求されたページが見つからないことを意味します。
質問5:403エラーはSEOにどのような影響を与えますか?
回答: 403エラーは、検索エンジンがWebページを適切にクロールできなくなる可能性があり、SEOに悪影響を与える可能性があります。特に、重要なページで403エラーが発生している場合、検索順位が低下する可能性があります。
質問6:403エラーを予防するにはどうすればよいですか?
回答: 403エラーを予防するためには、以下の点に注意しましょう。
- .htaccessファイルを慎重に編集する: .htaccessファイルは、Webサーバーの設定に大きく影響するため、慎重に編集しましょう。
- ファイルのパーミッションを定期的に確認する: ファイルのパーミッションが誤って変更されないように、定期的に確認しましょう。
- サーバーの負荷に注意する: サーバーの負荷が高い状態が続くと、403エラーが発生しやすくなります。
- WAFの設定を適切に行う: WAFはセキュリティ対策として有効ですが、誤った設定を行うと、かえってアクセスを阻害してしまう可能性があります。
まとめ
403エラーは管理者側の原因であるパターンが多く、閲覧者は再読み込みしたり時間を置いたりする対処法しかありません。そのため、管理者側は403エラーを発生させないように工夫するか、もしも起きた場合は速やかに対処してください。
閲覧できないのはビューワーにだけ不利にも見えて、管理者側にも悪影響を及ぼします。主な影響は、ページが表示されないことによる逸失利益の発生、サイトの評価の落ちるなど。
逸失利益は本来なら得られるはずだった収入がなくなるもので、アクセスされなければ広告を見てもらえないので当然です。サイトの評価が落ちるのはSEOの観点から見たもので、Googleなど検索エンジンがページを表示できないからと低評価にする可能性があります。
このように403エラーの発生は両者にとってよいものではないので、正しい知識と対処法を身に着け実践してください。