<>

作成した記事がプレビューできない!? 501エラー表示の原因は WAF設定 だった!【WordPress】

今回、WAF設定によって 投稿ページに使用する文言に制限がかかってしまう、といったお話です。

投稿記事の作成中、プレビューでサイトをチェックしようとしたところ
突然 501のエラー表示が出てしまいました!

プレビュー画面が開けず、更新も出来ない状態になってしまい
状況が呑み込めない、といった状態だったのですがこのエラーの原因、
少し前にレンタルサーバー内で行ったセキュリティ設定でした。

501エラーの原因

エラーになった時の画面には このような文言が書かれています。

501エラー表示画像
このエラーは実装されていないメソッドでのアクセスがあったことを意味します。”とあります。

原因として 対応していないメソッド(MOVE / COPYなど)を使用した。と書かれていますが
コピーなどしていませんが、一つだけ思いあたるのは関連記事としてリンクを貼ったこと。

それも ある一つのリンクが原因でした。

他のリンクで試してみたところ 正常にプレビュー画面は表示され 問題は この 1つの記事だけということにたどり着きました。
使用したURLは https://~ ftp-settings このURLの 何が問題なんでしょうか?

WAF設定 – コマンド対策

以前に レンタルサーバーでWAF設定という セキュリティ設定を行いました。

WAFは 外部からの悪意のある攻撃を検知したり、ウィルス感染からWebサイトを守ってくれるための設定です。

WAF設定に関する記事はこちら↓
セキュリティ対策 WAFの必要性と Xserver での設定

この WAF設定の中の コマンド対策という項目は 特定の文字列を含むアクセスに対して
セキュリティが発動されるというもので 今回は この文字列に引っかかってしまったようです。
WAF設定画面
コマンド対策…kill、ftp、mail、ping、ls 等コマンドに関連する文字列が
含まれたアクセスを探知します。
とあります。

今回のケースで私が使用したのは ftp はこの項目に含まれていますので
自分の書いた記事ではありますが セキュリティが発動されてしまったんですね。

URLを改善

改善策としては、コマンド対策をOFF にするか サイトのURLを変更するかになりますが
当然、この WAF設定はこのままにしておきたいので URLの方を見直してみることにしました。

https://~ ftp-settings のURLでエラー表示が出てしまいましたが
これを ftp だけに変更してもう一度内部リンクのチェックをしてみたところ
正常にプレビュー画面を開くことができました。

ftp の使用が 完全にダメなわけではなく、文字列
今回の場合 -settings との組み合わせが合わなかったようです。

この本文中に この文字列を使用して表示できていますが
文字を大きくしたりすると やはりエラー表示になってしまいました。

厳密に何が悪いとかは言えませんが、エラー表示されても
今回のようなポイントを覚えておくといいかと思います。