記事の更新・保存のときエラーが出て詰まった話

概要

今回は、この前公開した記事を執筆中に発生したトラブルに関しての備忘録です。いつもの解説記事とは違い、短めの内容になりますが、IT関連のWordPress記事を書いてる人なら経験する可能性が高いことのように思うため、記事としてまとめてみます。

起きた現象

今回発生した現象は、WordPressサーバに関する以下の記事を書いてたときのことです。

ある程度書いて[下書き保存]をクリックすると、

更新に失敗しました。返答が正しい JSON レスポンスではありません。

というエラーメッセージが表示されました。

最初は一時的なエラーと思い、少し時間をおいて保存をしようとしても同じエラーが出る。

セッションの問題と思い、クリップボードに内容をコピーして、ブラウザを強制リロードして先ほどまで書いてた記事をペーストしても上記のメッセージが出ました。

エラーメッセージで検索をしてみると、どうやらプラグインの動作によって問題が引き起こされる場合が多いとのこと。特に、WAFを設定している場合は、今回のように正しいレスポンスが返ってこず、上記のエラーが出るようです。

しかし、使っているWAFを一時的にオフにしても解決せず、途方に暮れていました。

さて、どうしたものかと考えていろいろ試してみると、記事の途中まではきちんと保存されているため、エラーが出る直前に書いていた内容に問題があるようです。

そこまでわかったら、あとはひたすらどの行で同じエラーが再現するか一行一行追加しながら確認していきました。

原因と解決策

直前に書いていた文章を一行一行確かめていったところ、どうやら地の文・コードブロック関係なしに/etc/とあると、下書き保存・公開ができなくなるようでした。

/etc/ディレクトリについては、サーバ内の重要な設定ファイルが多く存在しています。そのため、導入しているセキュリティプラグインによっては、この文字列が書かれたリクエスト自体を受け付けなくするようです。

特に、プラグインの設定において、「設定ファイルへのアクセス防止」のような機能をオンにしていると、今回のようなエラーが発生するようでした。

自分の場合も、一時的にこの設定をオフにすると、問題なく下書きの保存や記事の公開を行うことができました。

この設定自体は非常に有用であり、悪意を持ったユーザからの不正なリクエストを防止する役割があります。そのため、自分と同じような事象が発生した場合でも、設定をオフにする場合は十分注意をするようお願いします。

まとめ

今回はトラブルシュート的な内容のため、短めの記事にはなりますが、同じように困っている人の助けになればと思い書いてみました。

自分自身、他のブログのトラブルシュート記事はよく参考にしているため、今後も自分の身に降り掛かった事に関する内容を発信していきたいと思います。

それでは、ここまで読んでいただきありがとうございました!