固定ページのアップロードエラーについて

遅ればせながら、便利なきっぷの更新を進めているところではありますが、少し問題が起きました。

固定ページを編集して、いったん下書き保存をしようとしたところ、エラーが発生して保存できないのです。エラーの内容は、こんな感じです。
413 Request Entity Too Large
The requested resource does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit

要するに、ファイル(ページ)のアップロードサイズが規定値(1Mbyte)を超えているということらしいです。しかし、先月まではそんなエラーでなかったんだけど?ファイルサイズが多いのかと、抹消済みの項目を削除するも、変化なし。しかも、別の固定ページ(編集済み)も更新、またはプレビュー表示しようとすると、同じエラーが発生するのです。

413エラー画面
【413 Request Entity Too Large こういうエラーは初めて見た】

さらに画面の表示を見てみると、太字のエラー表示の下に細かい文字が書かれています。ModSecurity: Request body no files data length is larger than the configured limit (1048576).. Deny with code (413)

ここから判断すると、Modsecurity(Webアプリケーションへの不正アクセスや攻撃を検知・防御するWAFの1種のようです)によるアクセス制限が発生しているようです。

ModSecurity: Request body no files data length is larger than the configured limit (1048576).. Deny with code (413)
【筆者訳】ModSecurity:ファイルを含まないリクエストボディ(アップロードするページ本体)が設定された制限値(1048576バイト)より大きいです。コード(413)で拒否しました。

ちなみに、テキストだけを取り出してファイルに保存すると73KBぐらいにしかならないのですが。シロートがいろいろ考えてもらちが開かないので、ここはやはり生成AIさん(ChatGPT)に聞いてみることにしました。

長々とやりとりを貼り付けると無駄に長くなるので要点だけ書きますと、テキスト自体はそれほど大きくないが、HTML、埋め込みコード(アフィのことか?)、その他によって保存時に送信されるデータ量が規定の1MBを超えたのではないかという見立てでした。

しかし、先月もしくは先々月もこのページの更新はしていたし、その時は問題なく更新できていました。てことはやはりサーバ側(エックスサーバー)が何か設定をいじったのでは?ChatGPTの力を借りてお問い合わせフォームに必要事項を入力し、サポートの返事を待つことにしました。

すると、2時間半ほどでお返事が来ました。結構早いですね。こういう対応の良さは評価ポイントの一つなのですが。お返事の内容を簡単にまとめるとこうなります。『リクエストデータサイズの上限についてはセキュリティ上全体で設定してるので諦めてクレメンス。ただし、WAFの設定で引っかかってるかもしれないので、設定項目を外していって様子を見ておくんなまし。』何ともすっきりしないお返事ですが。

さて、エックスサーバーのサーバーパネルにアクセスしました。一番下のセキュリティの配下にWAF設定があります。XSS対策、SQL対策、いやその下のファイル対策かな?試しにファイル対策の項目をOFFにしてみました。すると、ページが更新できました!やはり原因は、サーバー側で変な設定を入れたからか。とにかく解決したので、安心です。

正直便利なきっぷのページは、ページの肥大化も気になっていたのですが、これは順次対応しようかと思います。でもこういう急な仕様変更は困りますね。Webサイト構築についてはほぼシロートなので、こういうトラブルが起こるととりあえず混乱します。今回は、どうにか解決できたからいいものの、もし問題が長期化するなら、別のレンタルサーバーへの移行も検討したかもしれません。

とは言え、ここまでの動作、安定性、サポートの質など、エックスサーバーさんには満足しているので、引き続きよろしくお願い致します。本当は、自宅でサーバーを立てるのがいいんでしょうけど。しかし、その場合安定性とかミドルウェアインストールの面倒とか、技術的には可能なんですけど、やっぱりデータセンターの安定性には敵わないなと。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください