サイト・ブログが閲覧できない状態を意味する“403 Forbidden(フォービドゥン)”というエラーをご存知ですか?
この“403 Forbidden”とは、簡単に言うと指定したページへの閲覧禁止を意味するわけですが、主に意図的ではなく管理者側のちょっとしたミスで起こりうるケースが多く、しっかりと理解しておくべきエラーのひとつです。
そしてこういった3桁からなる“ステータスコード”と呼ばれるエラーには1xxから5xxまで様々な種類があり、そもそもサーバー上のページを閲覧するにはユーザー(クライアント)が各種ブラウザを介してデータを要求し、Webサーバーからの正しいレスポンス(データの受け渡し)によってページが表示されます。
その中でも4xxのエラーは主にリクエストした際に何らかのエラーが発生したことが理由で正しく表示できない状態となり、原因もいくつかのケースが考えられます。
もし売り上げ・効果として貢献しているサイト自体が“403 Forbidden”によって閲覧できない状態が長く続いてしまえば、当然機会損失にもなりますし、SEOにも影響を及ぼすので、サイトの管理者は何らかの監視ツールを導入したり、頻繁にサイト自体をチェックすることも大切です。
ということで今回は、何らかの原因でサイト・ブログが閲覧できない・禁止されている状態を意味する“403 Forbidden”について原因や対策方法を詳しくご説明したいと思います。
目次
403 Forbidden エラーとは?
まず“403 Forbidden”とは上記のように何らかの理由からサイトが閲覧できない・禁止された状態を意味するエラーのひとつで、ステータスコードで言う“403”の閲覧禁止を指します。
ちなみにステータスコードとは、先ほどもご説明した通りサーバーからのレスポンスを数字3桁で表すコードのことで、正常に閲覧できる状態の場合は“200”として返されます。
HTTPステータスコードは、HTTPにおいてWebサーバからのレスポンスの意味を表現する3桁の数字からなるコードである。
また、このステータスコードを確認するには、Chromeの場合だと“デベロッパーツール”の“Network”の項目に記載されています。(※デフォルトでは表示されていないかと思われますので、この状態でリロードしてみてください。)
一方“403 Forbidden”となる原因には、パーミッションなどサイト管理者側の単純なミスはもちろん、敢えて直接アクセスすることを“.htaccess”によって禁止しているケースも0ではありません。(サーバーの負荷を抑えるために画像への直接リンクを避けるなど。)
このようにサイトやブログには、安全に管理・運営していくためにも様々なケースを想定した上で場合によってはユーザーからのアクセスを一部制限しているケースもあり、他にも安価なサーバーを利用していると、トレンドにうまく記事が合致したことによってアクセスが集中した際にも同じく403となる可能性もあり、素早い復旧に対応するためにもいくつかのエラーを想定しておく必要があるわけです。
原因について
続いて、この“403 Forbidden”となってしまう原因についてですが、これにはいくつもの考えられるパターンがあり、中でも403の意味合い通りアクセス権限による問題が多く、“.htaccess”の記述ミスなどパーミッションによるアクセス権が理由となるため、単順なミス以外にもユーザーに敢えて閲覧禁止しているケースも考えられます。
ちなみにこういったエラーには、1xxから5xxまで様々な種類があるとご説明しましたが、数多くのエラーが存在するからこそ、こういった番号が返ってくることによって原因を追求することにも繋がりますので、サイト管理者側からすると非常に便利なステータスコードとも言えます。
その中でも“4xx”は基本的には閲覧禁止の状態を意味しているわけですが、集中的なアクセスによっても起こりうるエラーのひとつで、今後のサイト規模を考慮した上で、ある程度安定感のあるサーバーを選ぶことや、キャッシュなどのプラグインの導入によってサーバー負荷をできるだけ抑えておくことも大切です。
他にもディレクトリに直接アクセスした場合(“sample.com/aa/”など)、通常ならその階層に置いてある“index.html(php)”が読み込まれますが、こういったindexファイルが存在していないと403エラーとなるケースも考えられます。(もちろん環境によっては404となる場合もあります。)
“403 Forbidden”となりうるケース
上記のように403エラーとなってしまうケースには様々なパターンが考えられ、パーミッションや.htaccessによるアクセス制限以外にも、DNS設定の不備やサーバー側の障害も考えられます。
そして主には下記のようにアクセスの権限が理由ではありますが、ドメイン取得して間もない頃のDNSの設定ミスや、サーバーの“よくある質問”などにもよく記載されているように、DNSが完全に浸透するまで数時間かかる場合もあるため、そういった場合の対応としてはただ待つしかありません。
HTTP 403、またはエラーメッセージ Forbidden(「閲覧禁止」「禁止されています」の意)は、HTTPステータスコードの一つ。ページが存在するものの、特定のアクセス者にページを表示する権限が付与されず、アクセスが拒否されたことを示すもの。
他にも“WAF(ウェブ アプリケーション ファイアウォール)”と呼ばれるサーバーのセキュリティが誤作動したことによって403がステータスコードとして返ってくるケースもあり、この場合は管理者が様々なIPからサイト・ブログを更新した際にサーバーが攻撃されたと勘違いし、それによって閲覧禁止となってしまうケースも稀にあります。
こうなってしまった場合は、恐らく閲覧できないのは特定のデバイスやIPからだと思われますので、サーバーの管理画面から“WAF”の機能をいったんオフにし、改めてオンにすることによって403エラーが解消されたかどうか検証してみてください。
Web Application Firewall(略称:WAF、ワフ)とは、ウェブアプリケーションの脆弱性を悪用した攻撃からウェブアプリケーションを保護するセキュリティ対策の一つ。
このように、403エラーによる閲覧できない状態になってしまう原因は他にも様々なケースがあり、他にも“4xx”の中ではページ自体が存在しないことを意味する“404 not found”なんかも有名かと思われますので、403と404の違いや原因などをある程度覚えておくと良いでしょう。
403エラーの解決・処理方法
では、この“403 Forbidden”となってしまった場合の解決方法についてですが、これは上記のようにユーザー側で解決したい場合と管理者側で解決したい場合とでは対処の方法が異なります。
まずユーザー側としては、サーバー側に何らかの問題が発生している時はただ待つ・リロードしてみるしか方法はなく、他にも実はアクセス・閲覧禁止されているページ・ファイルにアクセスしている可能性も0ではありません。(明らかに閲覧できて当然なページの場合でも長時間解決しない場合はサイト管理者に問い合わせてみると良いでしょう。)
一方、サイト管理者側での対策方法としては、上記で挙げたような原因をひとつずつチェックしてみて解決していきます。
- パーミッションの設定ミス
- .htaccessの記述ミス
- アクセス過多(サーバー負荷)
- DNSに問題がある
- WAFの誤作動
とは言え、その多くは“.haccess”の記述ミスやアクセスの一時的に集中した場合が多く、特に重要なファイルを更新する際は必ずキャッシュを削除した上で正しく動作しているかどうかチェックすることが大切です。(キャッシュが読み込まれて正常に動作していると勘違いしている可能性も考えられます。)
また、アナリティクスの方でも時間ごとの推移を比較してみたり、当日を含んだ状態で定期的にチェックしてみると良いでしょう。
403エラーが出た場合、急なアクセス増加が見られると恐らくサーバー負荷が原因ということに素早く気付くこともできるかと思われますので、あまりにも安価なサーバーを選ばない・サイトの成長を見越した上でサーバーを選ぶといった点も重要視するべきです。
ファイルアクセス権(パーミッション)のチェック
パーミッションとはサーバー上のファイルやディレクトリにアクセスする権利のことを指し、通常閲覧するページ(htmlやphpなど)に設定は必要ありませんが、プログラムファイルなど重要なファイルに以下のパターンを用いて適宜3桁の数字(所有者・所有グループ・その他のユーザー)で設定するものです。(設定するにはFTPソフトなどが必要となります。)
ファイルパーミッション(file permission)とは、ファイルごとに定義された、読み出し・書込みなどのアクセスに対する許可情報。
まず、権限の内容と数字がこちらで、
- ファイルを読む(4)
- ファイルの変更(2)
- ファイルを実行(1)
これらをかけ合わせて所有者・所有グループ・その他のユーザーに対して権限を設定していきます。
※この数値は権限を表す上記の数値を足したもので表現しています。
- 7:4・2・1を許可
- 6:4・2を許可
- 5:4・1を許可
- 4:4を許可
- 0:許可しない
例えば、“755”の場合だと…以下のような意味合いとなります。
- 所有者に対しては全てを許可
- 所有グループに対してはファイルの読み込みと実行を許可
- その他ユーザーに対してはファイルの読み込みと実行を許可
ここで、閲覧ユーザーがファイルの読み込みを許可されていないファイルにアクセスした際、“403 Forbidden”エラーとして表示されてしまうというわけです。
トップディレクトリにindex.html(php)がない
上記以外にも、ルートディレクトリ(一番上の階層)を含め各ディレクトリにindexファイルがない場合も403となる原因のひとつとして考えられます。
というのも通常はサイトurlや/(スラッシュ)止めの各階層のディレクトリでアクセスするとindexファイルが優先して読み込まれます。
しかしこのindexファイルがない場合で、さらにディレクトリへのアクセスを制限していると、同じく“403 Forbidden”エラーとなるケースも考えられるでしょう。(特に設定などしていなければ404としてファイルがないエラーが表示されるかと思われます。)
そのため、特に理由がない限りルートディレクトリ含め、各ディレクトリにはindexファイルを基本置き、必要であればindex以外のファイル名で適宜同カテゴリとしてページを追加していきます。
ただ、この場合403エラーとなってしまうのは直接urlを入力して閲覧権限のないディレクトリにアクセスしたり、リンク先の入力ミスなどが考えられ、ユーザビリティにも関連する要素となりますので、リンク切れなんかにも注意してサイト内のどのページにもアクセスしやすい導線配備にも気を使うべきです。
まとめ
今回は、ファイルやディレクトリなどの閲覧禁止を意味するエラー“403 Forbidden”について意味や解決方法などを詳しくご説明しました。
このように“403 Forbidden”とは、敢えて閲覧禁止にしているのが通常の状態で、閲覧ユーザーにとってはサイトの不具合なのか一時的なものなのか?若干その判断が難しいところではありますが、特段通常の閲覧では頻繁に起こるエラーではありませんので、なんらかのミスによってエラーとなりうるいくつかの原因を管理者側が前もって知っておくと慌てることもないでしょう。
特に重要なページはサイトを安全に管理・運営するためにも閲覧禁止にしておく必要があり、機会損失を出さないためにも見せるべきページは正常に閲覧できる状態にしておくことが大切です。
「キーワードファインダー」
キーワード選定でお悩みですか?
「キーワードファインダー」なら、検索ボリュームから順位チェック、関連語や新しいキーワードの発見など、アクセスを伸ばすために重要なキーワード選定を自動取得、一括管理が可能!
また、自動取得したキーワードは、ご自身のサイトだけでなく競合の順位も取得します。この整理された情報を元にあなたの集客経路の拡大にお役立てください!
関連記事
検索順位を改善するには正しいSEOの知識が必要です