403 Forbiddenとは?サイトが表示されない原因と確認順序を初心者向けに解説

403 Forbiddenとは?サイトが表示されない原因と確認順序を初心者向けに解説

記事
IT・テクノロジー
Webサイトへアクセスしたとき、「403 Forbidden」と表示され、ページを開けないことがあります。
404はページが見つからない状態として知られていますが、403はページやファイルが存在していても、サーバーがアクセスを許可していない状態です。
制作中のサイトで突然403が発生すると、WordPressが壊れたように感じるかもしれません。
しかし、実際にはファイルの権限、セキュリティ機能、アクセス制限など、さまざまな原因が考えられます。
今回は、403エラーの意味と主な原因、安全に切り分けるための確認順序を初心者向けに解説します。
403はアクセスを拒否された状態
403は、ブラウザからのリクエストをサーバーが受け取ったものの、そのアクセスを許可できないと判断した状態です。
ページやファイルが存在しないとは限りません。
たとえば、建物の場所は分かっているものの、入口で入場を断られているような状態です。
拒否される対象は、サイト全体の場合もあれば、特定のページやファイルだけの場合もあります。
まずは、どの範囲で403が発生しているのかを確認することが重要です。
404との違い
403と404は、どちらもページを表示できないエラーですが、意味は異なります。
404は、指定された場所に対応するページやファイルが見つからない状態です。
一方、403は、要求されたページやファイルが存在していても、アクセスが許可されていない状態です。
簡単に整理すると、次のようになります。


403は「存在する可能性はあるが、閲覧を許可されていない」

404は「指定された場所に対象が見つからない」
そのため、403が発生したときにページを作り直しても、アクセス制限が原因であれば解決しません。
エラー番号から、どの種類の問題なのかを分けて考えます。
サイト全体か一部だけかを確認する
403が表示されたら、最初に影響範囲を確認します。
トップページ、下層ページ、管理画面、画像などをそれぞれ開き、どこまでアクセスできるかを調べます。
確認したい状態は次のとおりです。


サイト全体で403になる

トップページだけ403になる

特定のページだけ403になる

WordPressの管理画面だけ開けない

画像やCSSだけ読み込めない

自分の環境だけ403になる

ログイン中だけ発生する

フォーム送信時だけ403になる
サイト全体で発生している場合と、一つの画像だけで発生している場合では、確認すべき場所が異なります。
いきなりWordPressを再インストールせず、問題の範囲を絞ることが大切です。
ファイルやフォルダの権限が原因になる
Webサーバー上のファイルやフォルダには、誰が読み取り、書き込み、実行できるかを決める権限があります。
権限が厳しすぎると、サーバーが必要なファイルを読み取れず、403を返すことがあります。
反対に、権限を広げすぎると、第三者から変更される危険が高まります。
403を直すために、すべての権限を最大まで広げる方法は避けるべきです。
一時的に表示できても、セキュリティ上危険な状態になります。
正常に表示されている同じ階層のファイルや、利用中のサーバーが推奨する設定と比較し、必要な範囲だけ修正します。
設定ファイルの内容に問題がある
サーバーの設定ファイルでは、アクセス制限、リダイレクト、特定ファイルの保護などを管理できます。
記述を間違えると、意図していないページまでアクセスできなくなる場合があります。
WordPressでは、パーマリンク設定やセキュリティプラグインによって設定ファイルが変更されることもあります。
直前に次のような操作を行っていないか確認します。


リダイレクトを追加した

特定の接続元を拒否した

管理画面を保護した

セキュリティプラグインを導入した

WordPressを移行した

ドメインや公開フォルダを変更した

パーマリンク設定を保存した

設定ファイルを手作業で編集した
設定ファイルを修正する場合は、変更前の内容を保存し、一か所ずつ確認します。
WordPressのセキュリティ機能が遮断している
WordPressのセキュリティプラグインは、不正アクセスを防ぐために接続元や操作内容を監視します。
短時間にログインを何度も失敗した場合や、危険と判断される操作を行った場合に、アクセスを一時的に拒否することがあります。
本人の操作でも、次のような状況では遮断される可能性があります。


ログイン情報を何度も間違えた

短時間に多数のページへアクセスした

管理画面の保存を繰り返した

フォームのテスト送信を連続で行った

通信環境が切り替わった

海外の接続元として判定された

セキュリティ設定を厳しくした

管理画面のアドレスを変更した
管理画面へ入れる場合は、セキュリティプラグインの履歴や遮断状況を確認します。
管理画面にも入れない場合は、サーバー側からプラグインの影響を切り分ける必要があります。
サーバーのWAFが処理を拒否する場合がある
WAFは、Webサイトへの通信内容を確認し、攻撃と考えられるリクエストを遮断する仕組みです。
不正な命令や危険な文字列を含むアクセスを防ぐために、多くのレンタルサーバーで利用されています。
しかし、管理画面で長い文章やHTMLを保存したとき、その内容が攻撃に似ていると判定され、正常な操作まで拒否される場合があります。
次のような状況では、WAFの影響を疑います。


ページを見ることはできるが保存時だけ403になる

特定の文章を入力したときだけ保存できない

テーマやプラグインの設定変更時に発生する

フォーム送信時だけ拒否される

特定のファイルをアップロードできない
WAFを無効にすれば通る場合でも、無効のまま運用するのは避けます。
どの操作が遮断されたのかを確認し、必要な対処を行ったあとで保護機能を戻します。
接続元のIPアドレスが拒否されている
サーバーやセキュリティ機能では、特定のIPアドレスからのアクセスを拒否できます。
自分のIPアドレスが拒否対象になると、他の人はサイトを見られるのに、自分だけ403になる場合があります。
自分だけの問題かを確認するには、別の通信環境や端末からアクセスします。
たとえば、固定回線から開けない場合に、スマートフォンのモバイル通信で確認します。
別の通信環境では表示できるなら、サイト全体の障害ではなく、接続元に対する制限の可能性があります。
VPNや会社のネットワークを使用している場合も、接続元の判定が変わることがあります。
海外アクセス制限が影響することもある
レンタルサーバーやセキュリティプラグインには、海外からのアクセスを制限する機能があります。
国内向けサイトでは有効な対策になる場合がありますが、管理者が海外へ移動したときや、海外経由の通信を使用したときに管理画面へ入れなくなる可能性があります。
また、外部サービスが海外のサーバーからサイトへアクセスする場合、その通信まで拒否されることがあります。
アクセス制限を設定するときは、利用者だけでなく、次のような外部サービスへの影響も考えます。


検索エンジン

SNSのリンク確認

稼働監視サービス

外部バックアップ

フォーム連携

決済サービス

API連携
遮断範囲を必要以上に広げないことが重要です。
公開フォルダの指定が間違っている
ドメインをサーバーへ追加するときは、そのドメインで表示するフォルダを指定します。
この指定が間違っていると、必要なファイルがない場所を参照したり、アクセスを許可していないフォルダを公開しようとしたりすることがあります。
特に、次の作業後は確認が必要です。


新しいドメインを追加した

サブドメインを作成した

サブディレクトリへWordPressを入れた

サイトを別サーバーへ移行した

公開フォルダ名を変更した

テスト環境を本番環境へ切り替えた
WordPressのファイルが存在する場所と、ドメインの公開先が一致しているかを確認します。
トップページに必要なファイルがない
フォルダへアクセスされたとき、サーバーはトップページとして扱うファイルを探します。
必要なファイルがなく、フォルダ内の一覧表示も許可されていない場合は、403になることがあります。
この状態は、新しいサブドメインを作った直後や、ファイルの移動に失敗したときに発生しやすくなります。
次の点を確認します。


トップページ用のファイルがあるか

ファイル名が正しいか

大文字と小文字を間違えていないか

別のフォルダへアップロードしていないか

移行時に一部のファイルが不足していないか

WordPressの読み込みに必要なファイルがそろっているか
エラーが権限の問題に見えても、実際には入口となるファイルが存在しない場合があります。
画像の直リンク制限が原因になる場合がある
サーバーには、別のWebサイトから画像だけを直接読み込まれることを防ぐ機能があります。
無断転載や通信量の増加を防ぐための仕組みですが、設定を誤ると自分のサイトからの画像表示まで拒否される可能性があります。
ページの文章は表示されるのに、画像だけ403になる場合は、この制限を確認します。
ドメインを変更したあとに、古いドメインだけが許可された状態になっているケースにも注意が必要です。
CDNやサブドメインを使って画像を配信している場合は、それぞれのドメインが正しく扱われているか確認します。
プラグインやテーマだけを疑わない
WordPressで403が発生すると、プラグインの競合だと考えがちです。
しかし、403はWordPressが処理を始める前に、サーバーやWAFがアクセスを拒否している場合もあります。
確認する場所は一つではありません。


WordPress本体

テーマ

プラグイン

サーバー設定

WAF

ファイル権限

接続元の制限

CDN

外部セキュリティサービス

ドメインの公開先
どの段階で拒否されているのかを考えると、必要のないプラグイン停止や再インストールを避けられます。
原因が分からないまま設定を削除しない
403が解消しないと、設定ファイルやセキュリティプラグインをすべて削除したくなるかもしれません。
しかし、複数の設定を同時に変更すると、どの操作で改善したのか分からなくなります。
さらに、本来必要だったアクセス制限まで失われる可能性があります。
調査するときは、次の流れで進めます。


発生した時刻を記録する

影響範囲を確認する

直前の変更を整理する

別の端末や通信環境で確認する

サーバーのエラー履歴を確認する

セキュリティ機能の履歴を確認する

設定を一つずつ切り分ける

変更後に同じ操作を再現する
元へ戻せる状態を作ってから、一つずつ確認することが大切です。
403が発生したときの確認順序
403エラーが表示された場合は、次の順番で確認すると原因を整理しやすくなります。


サイト全体か一部だけかを確認する

自分以外の環境でも発生するか確認する

直前に変更した内容を整理する

ファイルやフォルダが正しい場所にあるか確認する

ファイルとフォルダの権限を確認する

設定ファイルの変更内容を確認する

WordPressのセキュリティ機能を確認する

サーバーのWAFやアクセス制限を確認する

ドメインの公開フォルダを確認する

サーバーのエラー履歴を確認する

必要であればサーバー会社へ問い合わせる

修正後に制限を元へ戻したか確認する
すぐに再インストールするのではなく、影響の小さい確認から進めます。
復旧後も原因を記録する
403が解消したら、何を変更して直ったのかを記録します。
原因を残さず復旧だけで終えると、同じ問題が再発したときにもう一度最初から調査することになります。
記録しておきたい内容は次のとおりです。


発生日時

影響を受けたページ

表示されたエラー

直前に行った変更

原因となった設定

実施した修正

一時的に無効にした機能

修正後に確認した項目

再発防止の方法
クライアントサイトを保守している場合は、作業履歴として残しておくと引き継ぎにも役立ちます。
まとめ
403 Forbiddenは、ページやファイルが存在していても、サーバーがアクセスを許可していない状態を表します。
404が「見つからない」であるのに対し、403は「アクセスを拒否された」という違いがあります。
原因には、ファイル権限、設定ファイル、WordPressのセキュリティ機能、WAF、IP制限、海外アクセス制限、公開フォルダの間違いなどがあります。
403を直すために権限を最大まで広げたり、セキュリティ機能を無効のままにしたりするのは危険です。
まず影響範囲と直前の変更を確認し、サーバーのどの段階で拒否されているのかを一つずつ切り分けます。
エラー番号の意味を理解し、原因に合った場所を確認することで、必要以上にサイトへ変更を加えず、安全に復旧できるようになります。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す