特定の記事で「501 Not Implemented」が発生する原因を解決

季節の変わり目を感じる頃になりました。だんだん涼しくなってきた…と思いきや、まだまだ暑さが続いていますね。
残暑がなかなか手強いこの頃です。

さて今回、クラウドワークスの案件で特定の記事に「501 Not Implemented」が発生するエラーを解決したお話です。
依頼内容は、特定の記事を開こうとすると発生するこのエラーを解消するというものでした。

エラーの原因

「501 Not Implemented」というエラーは、通常サーバー側がリクエストを処理するための機能をサポートしていない場合に発生します。
つまり、クライアント側(ユーザー側)の問題ではなく、サーバーやその設定に問題があることが多いです。

依頼者に確認したところ使用されているサーバーは「Xserver」でした。
Xserverには「WAF(Web Application Firewall)」と呼ばれるセキュリティ機能があり、この設定が特定のリクエストをブロックしてしまうことがあるようです。

調査の結果

リクエストは日本語の可能性は低そうなので調査する文字のターゲットを英数字に縛ってみました。記事の内容を調べてみると音楽メディア関連の記事ようです。
エラーを特定するために様々なテストをしていたところ、「CD」という文字列を入力した際にエラーが発生することがわかりました。

エラーの原因は「WAF設定」

XserverのWAF設定が、特定の文字列「CD」に反応してリクエストをブロックしていることが原因でした。サーバー側で「CD」に何らかのフィルタリングがかかっていたため、記事を表示しようとすると501エラーが発生していたのです。

「CD」という二文字が原因でエラーになる理由は明確にはわかりませんが、WAFの設定により特定の文字列に対して過敏に反応してしまうことがあるようです。

解決方法

解決策としては、単純に「CD」を大文字で記載することで、エラーが解消されました。大文字にすることでWAFのフィルタリングを回避できたと予想されます。

他の情報がなければこの問題にはまってしまい、解決に時間がかかってしまったかもしれませんね。

WordPressで「501 Not Implemented」のエラーが発生した場合、特にXserverなどのサーバーを利用している場合は、特定の文字列が引っかかってしまうこともあるので、まずは記事内のテキストを確認してみると良さそうです。

トラブルシューティングには時間がかかることもありますが、一つ一つ原因を特定していくことで無事解決に至ることができます。
このようなエラーに直面した際は、ぜひ今回の事例を参考にしてみてください。

コメントする

上部へスクロール