目次
【403エラー】「 アクセスしようとしたページは表示できませんでした。」の解決方法
【状況】403エラー(403 forbidden)が発生する
WordPressのブログで記事を書いて、プレビューで確認しようとしたところ↓の表示が!!
原因はXserverのWAFの設定が有効化していることでした!!
自分が切り分けとして状況を整理すると以下になります。
自分のエラーに遭遇した時の状況
- Xserverでブログを運営している
- XserverのWAF設定をすべて有効化している
- 記事の中で、Databaseのエラーコマンドを記載している
※ここがWAFに引っかかっているはず - アクセス許可(.htaccessなど)やパーミッション権限に問題はなかった
- デフォルトドキュメント(index.html)もあることを確認済み
【結論】XseverのWAF設定を無効化する!!
私の場合、記事の中でDatabaseのエラーコマンドを記載していて、そのコマンドがXserverのWAF設定で不正な攻撃と判断されてしまったことが原因でした!!
WAFはわかりやすく言えば、セキュリティチェックして不正な挙動を自動で遮断する機能です。
- WAF設定でフィルタリングされている(403エラー)ということは、ブログの記事内のコードがセキュリティ的に問題があると指摘してくれている
XserverのWAF設定をOFFにする設定は以下の通りです!
- Xserverにログインする
- 「サーバ管理」→「WAF設定」→「ドメイン選択」で移動
- 必要な項目をOFFにする(設定反映は1時間くらいかかる)
- 最後にWAF設定をONにして、戻すことを忘れずに!
Databaseのエラーコマンドが原因だとわかっていたので、WAF設定の「SQL対策」をOFFにしたら反映することができました!(あくまで自分の場合)
よくわからない場合、すべてOFFにすれば大丈夫です!
しかし、最後にWAFの設定をONにすることを忘れずにしましょう!!
ちなみに、XserverのWAF設定が原因で503エラーが起きたこともあったので、XserverのWAF設定は厳格なルールでセキュリティを保っていることがわかりますね!
まとめ
最後にまとめます!
- 記事内に問題がないかをまずは確認しよう!
- 記事内に問題が見つからなければXserverのWAF設定をOFFにしてみよう!
- 最後にWAFの設定をONにすることを忘れずに
以上!