【WordPress】画像のアップロードに失敗する事象

ブログ(WordPressを使用)において、画像のアップロードに失敗する事象が発生しました。

アップロード失敗

表示されるエラーメッセージで検索するといくつか対処法が出てきますが、当方の場合はどれも効果がありませんでした。
(そもそも、画像は800×600程度ですし、サーバースペック的にも何の問題もない状況です)

いろいろと調査を重ねた結果、なんとか解消できましたのでその顛末を記事にしたいと思います。

目次

事象

  • 自作の画像縮小ツールで縮小した画像(画像Aとする)がブログにアップロードできない
  • 上記ツールで縮小しても問題なくアップロードできる画像もある
  • 他のブログ(某セキュリティプラグインをインストール済み)には画像Aを問題なくアップロードできる
  • 画像Aの元画像を他の画像処理ツールを使って縮小した画像は問題なくアップロードできる

原因

某セキュリティプラグインに実装されているWAFが当該ファイルのアップロードをブロックしていました。
同じプラグインをインストールしている他のブログでは問題なく当該ファイルがアップロードができる理由はちょっと分かりませんでした。
学習するタイプのWAFなので各サーバーの運用実績の違いからパターンファイル的なものに違いが生じているのかもしれません。

対応

WAFの設定を変えることはせず、運用でカバーするようにしました。

  • アップロードが失敗した場合は自作の画像縮小ツールではなく別ツールを使う
  • 記事の編集に使うPCのグローバルIPアドレスをWAFのホワイトリストに登録してブロックしないようにする
  • ブログを動かしているサーバーにプライベートネットワークで接続する(プライベートIPはWAFのホワイトリストに自動的に登録される)

上記の方法で回避することが可能ですが、今回は2番目の方法を採ることにしました。

グローバルIPアドレスをホワイトリストに登録する際の注意点

そのグローバルIPアドレスが自分以外には割り当てられないことを確認する必要があります。
(いわゆる「固定IPアドレス」)

特に注意が必要なのが集合住宅によくあるマンションタイプと呼ばれているインターネット回線です。
この形態は物件にメインとなるルーターが備わっていて、そこから各戸に配線されています。
グローバルIPアドレスはメインとなるルーターに割り当てられているので住人全員が同じグローバルIPアドレスになります。
このグローバルIPアドレスをホワイトリストに登録した場合、住人全員を登録したのと同じことですので注意してください。

うちの回線もマンションタイプなのでそのままではグローバルIPアドレスをホワイトリストに登録できません。
そのため、私はVPS上にVPNサーバーを立てました。
ブログ編集時はVPSにVPNで繋ぐことでそのVPSに割り当てられているグローバルIPアドレスを使うことができるのでこれをホワイトリストに登録しています。


まとめ

WAFによってセキュリティは高まるのかもしれませんが、割と動作に影響を与えることも多いように思います。
当ブログにおいてもWAFが原因でうまく動かなくなっていた事例がありました。

あわせて読みたい
THE THORのカスタマイズでエラー発生(基本設定→高度な設定) 記事更新履歴 ・2020年12月26日 : 「まとめ」に追記 うちのブログはWordPressを使っており、テーマは「THE THOR」を適用しています。 ちょっとHTMLのheadタグのところに...
あわせて読みたい
THE THORのカスタマイズでエラーが発生する原因が判明 「THE THOR」のカスタマイズでエラー(403エラー)が発生することを記事にしました。 当該記事にもあります通り、wp_optionsテーブルを直接編集してひとまずは対応したの...

かと言ってWAFを無効にするのもそれはそれでリスクがありますからなかなか難しいところですね。

この記事が同様の症状で困っている方の参考になれば幸いです。

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

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

目次