どーも!りゅうです(「・ω・)「
記事を更新しようとしたら以下のエラーになったので、
対処法の備忘録として残しておこうと思います_φ(・_・ )
原因
Xserver(エックスサーバー)のWAF設定が原因でした。
WAF(Webアプリケーションファイアウォール)は、Webアプリケーションの脆弱性を悪用した攻撃からWebサイトを保護することが可能です。
不正アクセスからサイトを保護し、WordPressなどのWebアプリケーションの安全性を簡単な設定で向上することができます。
そのWAFがXserverの前に配置され、HTTPリクエストを監視・フィルタリングして不正なアクセスを防いでいるのですが、
記事内に不正アクセスや攻撃とみなされるNG文字がある場合も501エラーが出てしまうようです。
記事内の単語だけでなく、挿入する画像名にNG文字がある場合も不正アクセスとしてみなされる場合があります。
今回は以下の文言を記事にしようとしたときに、
「(バッククォート)chsh」というコマンドがNG文字と判定されて501エラーがでました。
厳密に言えば「chsh」だけではNG文字とはならず、その単語の前に「`(バッククォート)」文字があるとエラーになったので、特定の単語と記号などの組み合わせでNG文字として判定されるみたいです。
対策方法
対策方法は二つあります。
①WAF設定のNG文字を記事内から削除
②XserverのWAF設定を一時的にOFFにして記事を更新
それぞれの手順を解説していきます。
対策①WAF設定のNG文字を記事内から削除
単純のようですが、エックサーバーのマニュアルに具体的に何がNG文字なのかが記載されていない為、何がNG文字なのかを記事内から特定するのは難しいです。
冒頭のエラー画像に「対応していないメソッド(MOVE/COPYなど)を使用した。」と記載がありますが、実際はそれ以外の単語でひっかかる方が大半だと思います。プログラミング系の記事なんてコマンド系の単語をよく使うので引っかかりやすいですしね。。
どうしても入れたい文言の時は、文言の代わりに画像で対応すれば回避できます!
自分は実際その方法でこの記事を更新しました!
対策②XserverのWAF設定を一時的にOFFにして記事を更新
こちらは確実に記事を更新できますが、
WAF設定の反映時間に最大1時間程度かかるので、
WAF設定OFF→1時間待ち→記事更新→WAF設定ON と手間が掛かります。
また、WAF設定をONに戻しわすれないように注意してください\_(・ω・`)ココ重要!
・ Xserverのサーバーパネルにログイン
・「WAF設定」を選択
・ドメイン選択画面で該当のブログのドメインを選択する
・該当しそうな設定項目をOFFにする
※以下は一例ですが、わからない場合はとりあえず全部OFFにするのが無難
・「設定する」を選択
・「戻る」をクリック
・反映待ちになっていればOKです!
最大1時間ほどかかる可能性があるので気長に他の作業をしつつリロード等をして待ちましょう☕️ 18:19
記事を更新後に必ずWAF設定をONに戻してください\_(・ω・`)ココ重要!
あとがき
エラー対応お疲れ様でした!
無事に記事を更新することができましたか?
何度も言いますが、
WAF設定をONに戻すのを忘れないように注意してください!
それではまた別の記事で会いましょう!