WordPress「403 forbidden nginx」でログインできない場合
更新日:2023年11月29日 筆者:鈴木俊雄(@smart_plan_ts、Facebook)
WordPress「403 forbidden nginx」でログインできない場合
要約
WordPressのログイン画面が、403エラー(forbidden nginx)で表示されない場合の原因や対処法を説明します。
WordPress 403エラー(forbidden nginx)の原因
- 海外からのアクセス制限
- WAFの過剰なチェック
- サーバー動作制御ファイル(.htaccess)の設定
詳しくは以降の本文をお読みください。
この記事では、実際に私が経験した403エラー体験(2023年11月29日に発生)をもとにお伝えしていきます。
見慣れないエラーが表示されて、WordPressのログイン画面が表示されず、管理画面にアクセスできず、あなたは焦っているかもしれません。私も焦りました。でも、まずはこの記事を読んでみてください。
さまざまなケースがあるので、必ずとは言えませんが、問題が解決するかもしれません。
【 目次 】
WordPress 403 forbidden nginx でログインできない場合
ある日突然、私のサイト(今見ていただいてるサイト)のWordPressのログイン画面が、403エラー(forbidden nginx)で表示されなくなりました…。
昨日まで大丈夫だったのに、WordPress設定もレンタルサーバーの設定も何も変えていないのに、いきなり403エラーが表示されてログインできないという事態になりました…。
その原因は? 対処法は?
さまざまなケースがあるようですが、私の場合は…ということで説明していきます。もし、参考になれば幸いです。
403 forbidden エラーとは
403 forbidden エラーは、ウィキペディアで、
403 Forbiddenは、閲覧が禁止されているという意味。特定のアクセス者にページを表示する権限が付与されず、アクセスが拒否されたことを示すもの。(要約)
引用:ウィキペディアの403エラーの説明より
と記載されています。
ようするに、
「あなたには、WordPressのログイン画面にアクセスする権限が無いので表示しません」
ということです。
参考)
➡︎ RFCエディタ(インターネットに関する技術的および組織的文書)による403エラーの説明 ※英語です
事象:WordPressのログイン画面が403エラーで表示されない
私はいつも通り、WordPressのログイン画面を表示させようとしました。
ですが、昨日まで大丈夫だったのに、いきなり、403エラー(forbidden nginx)と表示され、ログイン画面が表示できなくなってしまいました。
昨日から何も変えていません、、、
もちろん、レンタルサーバーの料金もきちんと支払っています。
注:レンタルサーバーの契約期間が終了していたり、料金を支払っていない場合にも403エラーが発生することがあります。
なのに、なぜ、、、なぜ急に、、、
いろいろと何度か試してみましたが「403 forbidden nginx」と表示されるだけで、WordPressログイン画面は表示されません。
ケースによっては、下記のようにWordPressログイン画面が崩れて表示される場合もあります。
そして、ログインしようとすると、やはり「403 forbidden nginx」と表示されてしまいます、、、
で、ネットでいろいろ調べてみました。
ですが、私にとっては原因も対処法も難しい記事ばかりです。VPN接続がどうだとか、通常、触ってはいけないファイル内のコードを修正しろとか…難しすぎますし、怖いです、、、
でも、何記事も読んで調べていくと、よくある一つの原因が見えてきました。
原因:アクセス制限にひっかかっている
その原因とは、
アクセス権限にひっかかっている
ということでした。
他にも原因について、小難しくいろいろ書かれている記事がありますが、どうやら、「アクセス権限にひっかかっている」というのが直接的な原因のようです。
そこで、もう少し調べていくと、
具体的には、
- 海外からのアクセス制限
- WAF(※)の過剰なチェック
- サーバー動作制御ファイル(.htaccess)の設定
に関係している可能性が高いということが分かりました。
※ WAFとは:Web Application Firewallの略。ウェブアプリケーションの脆弱性(弱点や穴)を突くサイバー攻撃からウェブアプリケーションを保護する仕組み(防御壁のようなもの)。
参考)
※ .htaccessファイルとは:ウェブサーバーをディレクトリ単位で制御するためのファイル。たとえば、リダイレクトの設定や404ページの表示設定などを行える。
参考)
➡︎ WordPressの.htaccessファイルとは?(Kinstaの説明)
注意:システム制御系のファイル「.htaccess」などは、よほど詳しい人でなければ、無闇に触らない方が良いです。もっとひどい状況に悪化する場合があります。
※ 以降の画面は「さくらレンタルサーバー」の場合です
対処法:WAFの設定や海外アクセスの制限設定を変更する
そこで私は、
海外からのアクセス制限やWAFに原因があるかもしれない…ということで、まずは「WAF」の設定をオン「利用する」からオフ「利用しない」に変更してみました。
私が利用している、さくらレンタルサーバーのコントロールパネルにログインし、以下のようにWAFの設定を変更しました。
ですが、、、
結果は何も変わりません。ログイン画面を出そうとしても、相変わらず403エラーのままです。
※ WAFの設定オフのみで正常に戻るケースもあるそうです。
ならばと次は、「国外IPアドレスフィルタ」の「管理画面の制限を有効にする」をオフ(チェックを外す)に変更してみました(WAFはオンに戻して)。
すると今度は、
WordPressのログイン画面が表示されました!!
結果からは、私の場合、海外からのアクセス制限(「国外IPアドレスフィルタ」の設定)が原因だったようです。
※ 「接続許可アドレスリスト」を指定できれば、「管理画面の制限を有効にする」はオンのままで大丈夫かもしれません。
本当の原因は?
でも、アクセスする環境は昨日までと同じく日本からです。海外からではありません。使用端末も同じです。なのになぜ?根本原因は不明です、、、
レンタルサーバー側の機能改善?
使用しているレンタルサーバー側で、最近、セキュリティ面を考慮して、海外からのアクセス制限の機能を改善しているようなお知らせがあったので、もしかすると、そのあたりに起因しているのかもしれません。違うかな?
使用端末のアップデート?
あとは、使用している端末のOS自動アップデートがされていたような気が…。その結果、海外からのアクセスだと誤解されるようになった?のかもしれません。関係ないかな?
・・・
いずれにしても、無事にログイン画面が出るようになったので、専門的で難しい根本原因の追求はひとまずこの辺で終わらそうと思います。
海外からのアクセスが可能に、、、
でも、海外からのWordPress管理画面アクセスを有効にしてしまったことが気になります(海外からの攻撃の心配)。
ですが、WordPressのログインURLも変更してありますし、パスワードも強力なものにしてあるので、ひとまずこのまま様子を見ていこうと思います。
※ もし、あなたのWordPressログインURLがデフォルトのままだったり、パスワードがバレやすいものになっている場合は、セキュリティの強化をおすすめしておきます。
その他のWordPress403エラーに関する専門的な記事
もっと専門的にWordPress403エラーついて知りたい場合は、私より何倍も詳しい人達が発信している各種記事をチェックしてください。内容は難しいですけど、、、
いくつかリンクを貼っておきます。
➡︎サイトにアクセスすると403 forbidden エラーとなる(WordPressサポート)
➡︎WordPressサイトで「HTTP 403 Forbidden」エラーを解決する方法(Kinsta)
➡︎403 Errorというエラーが発生します(ロリポップ!)
➡︎WordPressの「403 Forbidden」はサイト改ざんを疑え!(西沢直木のIT講座)
まとめ
WordPressのログイン画面が表示されず、403 forbidden nginx と表示されてしまう場合は、
- 海外からのアクセス制限
- WAF(※)の過剰なチェック
- サーバー動作制御ファイル(.htaccess)の設定
などを疑ってみましょう。
追伸
WordPressに関する情報は、ネット上にたくさん存在します。情報が多すぎて逆に困る場合もありますが、何の情報も無いより良いです。
なので、今回の私の事例が解決へ向けての参考にならなくても決して諦めないでください。何かしら別のヒントがネット上にある可能性は高いです。
また、世の中には、私の100倍 IT や WordPress の技術面に詳しい人がたくさんいます。早急に解決すべき場合は、信用できそうな詳しい人を探して(ココナラなどで)、惜しまずにお金を投資してください。
より早く、より確実に対処してくれるはずです。
以上、参考になったでしょうか。問題が早く解決するよう祈っています。