私は、WordPressでサイトを運営しており、サーバーは、高速で大人気のエックスサーバーです。
今回、WordPressで記事を更新しようと思い、「更新」ボタンを押したところ、501エラー「501 Not Implemented Error」が表示されてしまいました。
そもそもこの501エラーがなぜ起きてしまうのか不明な方には、記事を公開・保存することもできないため非常に困っているかと思います。
私も初めてこの501エラーに出くわした時は、とても困りました。
そのため、この501エラーの解決方法をお伝えしていきます。
ちなみにエックスサーバーでの解決方法をご紹介していますが、あなたがエックスサーバーを利用していなく、ロリポップなどの他レンタルサーバーを利用していても解決方法は同じです!!
「501エラー」で記事の公開や更新ができない現象
上記の501エラー画面が表示された方がこの記事をご覧になられているかと思います。
私も同じ現象が発生して、記事の公開や更新ができない状態でした。
—–
「このエラーは、実装されていないメソッドでのアクセスがあったことを意味します。」
「以下のような原因が考えられます。対応していないメソッド(MOVE/COPYなど)を使用した。」
—–
この文章を読んで正直意味がわかりませんよね・・・。
特段普段と同じ感じで記事をあげているのに・・・って感じですよね。
しかも、対応していないメソッドなんか使用していないし、原因がわかりませんね。
そういう時は次からご紹介する方法で501エラーを解決してしまいましょう!!
「501エラー」が発生する原因は何?
さて、本題の501エラーが発生する原因ですが、「WAF設定」が原因です。
WAF(ワフ)とは、「Web Application Firewall」の略となり、簡単に説明するとWebサイト上のアプリケーションに関するファイアウォール(防御する壁)になります。
WAFは、サイト訪問者からのリクエストに応じて動的なページを生成したりするタイプのWebサイトを不正な攻撃から守る役割を果たしてくれます。
つまり、不正なアクセスを検知して、サーバーとの通信を遮断してしまうという機能になります。
WAFは、Webサイト上のアプリケーション自体にセキュリティ上の問題があってもそれを無害化できるという利便性の高さや近年のセキュリティー強化などの背景から導入が必須です。
そのため今やほとんどのレンタルサーバーでは、WAFが導入されています。
今回このWAFの中の「XSS対策」がONになっていることが原因で501エラーが発生している可能性が高いです。
エックスサーバーのWAF設定には、「XSS対策」以外にも下記のように沢山設定がありますので、簡単に説明しておきます。
- XSS対策とは、クロスサイトスクリプティングに対しての対策で、サイト訪問者がjavascriptなどの悪意なスクリプトタグを埋め込んで攻撃してくるのを防ぎます。
- SQL対策とは、SQLインジェクションとも呼ばれており、SQLというサーバーの情報を操作する言語を用いて、データベース上のデータを操作される攻撃を防ぎます。
※データの改竄や消去などウェブサイトを運営する上で非常に困る攻撃を防いでくれるのでとても重要です。
- ファイル対策とは、.htpasswd .htaccess httpd.conf等、サーバーに関連する設定ファイルが含まれたアクセスを検知します。
- メール対策とは、to、cc、bcc等のメールヘッダーに関係する文字列を含んだアクセスを検知します。
- コマンド対策とは、kill、ftp、mail、ping、ls 等コマンドに関連する文字列が含まれたアクセスを検知します。
- PHP対策とは、session、ファイル操作に関連する関数のほか脆弱性元になる可能性の高い関数の含まれたアクセスを検知します。
「501エラー」の解決方法は、サーバー側で対応
501エラーの解決方法は、エックスサーバーのWAF設定の「XSS対策」をOFFにすることで501エラーが解決することが多いです。
私も実施こちらをOFFにしたら記事の公開・更新ができるようになりました。
もちろん、XSS対策はONにしておいた方がいいので、記事の公開・更新ができたらONに設定を戻しておく方がいいかと思います。
なぜなら501エラーは全ての記事で発生するのではなく、特定のページで発生することが多いのため、毎回は発生しません。
発生した都度このXSS対策の設定をOFFにしましょう。
これからはエックスサーバーでWAFのXSS対策設定をOFFにする方法を説明していきますが、他のレンタルサーバーでもWAF設定の項目さえ見つかれば簡単に設定をOFFにできるかと思います。
エックスサーバーのサーバーパネルのログイン画面にいきましょう。
こちらで「サーバーID」と「サーバーパネルパスワード」を入力して、サーバーパネルにログインしましょう。
セキュリティの項目にある「WAF設定」をクリックしてください。
こちらで501エラーが起きているサイトを選択してください。
ここのXSS設定がONになっているのをOFFにしましょう。
こちらをOFFにしたからといってすぐに反映されるわけではなく、1時間ほど待つ必要があります。
1時間ほど待った後に、記事の公開・更新をしてみて下さい。
501エラーが解消された後に、セキュリティ対策としてXSS対策はONにしておいて下さい。
上記の方法でも501エラーが改善しなかった人のために下記もお試し下さい!!
直らなかった人からよくコメントをいただいたのですが、下記の方法を試してもらったら直ったみたいなので、是非お試しいただければと思います。
「501エラー」の最終対策は、コマンド対策の機能をOFFに
先ほど紹介した、「XSS対策」の機能をOFFにする対策でも改善がみられなかった場合は、今から教える方法で改善できます。
私は「XSS対策」の機能をOFFにしただけで問題なかったのですが、それでも改善できなかった人向けに新たにご説明しています。
その方法は、「コマンド対策」機能をOFFにするだけです。
これだけで問題ないです。
これをOFFにすれば、「XSS対策」機能はONのままでも501エラーが発生しません。
「コマンド対策」機能は、「XSS対策」と同じ箇所にあるため説明はしなくても大丈夫かと思いますが念のために・・・。
まず、セキュリティー項目の中の「WAF設定」をクリックしてください。
こちらで501エラーが発生しているサイトを選択してください。
上記の画像のように「コマンド対策」機能がONになっているかと思います。
こちらを下記のようにOFFにすればいいだけで、501エラーが出なくなるはずです。
コマンド対策とは、kill、ftp、mail、ping、ls 等コマンドに関連する文字列が含まれたアクセスを検知します。この機能がOFFになったとしても正直問題はなく、この機能をONにすることで再度501エラーが発生する場合は、ずっとコマンド対策機能をOFFの状態にしておきましょう。
501エラー「501 Not Implemented Error」のWordPress・エックスサーバー対処方法のまとめ
今回は、ワードプレスとエックスサーバーを利用している場合に起こる501エラー「501 Not Implemented Error」についての対策の方法をお伝えしました。
このエラーが出ることによって、記事の更新ができなくなったという非常に困ったことが起きるため焦った人も多いのではないでしょうか。
私も初めてこの現象が起きた際にはとても焦りましたし、中々解決策が見つからずに記事の更新を1週間ほどストップしてしまいました。
その中で解決策が「XSS対策」機能をOFFにする。それでも改善されない場合には、「コマンド対策」機能をOFFにするという2つの方法です。
どちらかの方法で解決できると幸いですが、もし万が一に解決できなかったということがありましたら是非コメントにてご連絡ください。
コメント