【Lolipop】WAFを無効にしてもWordPress REST APIで403エラーが出る件

この記事の内容について、業務や開発でお困りの場合は個別に対応できます。

WAFを切ったのに403エラーが消えない?

こんにちは、ZIDOOKAです。 自作のCLIツールからWordPressに画像をアップロードしようとしたところ、403 Forbidden エラーに悩まされました。

「あー、はいはいWAFね」と思い、レンタルサーバー(ロリポップ!)の管理画面からWAF設定を無効にしました。

Lolipop WAF Settings

しかし、WAFを無効にしても、.htaccessで許可しても、なぜか403エラーが消えません。

ログを見てもエラーがない

さらに不可解なのが、WAFの検知ログを見てもエラーが記録されていないことです。

No Error Log

通常、WAFでブロックされた場合はここに検知ログが残るはずですが、今回は「検知されていないのにブロックされている」という奇妙な状態です。

原因の推測

現在調査中ですが、以下の可能性を疑っています。

  1. 反映のタイムラグ: ロリポップのWAF設定変更は反映に時間がかかることがあります(数分〜1時間)。
  2. 別のセキュリティ機能: WAF以外にも、海外IP制限や、WordPress固有のセキュリティプラグイン(SiteGuardなど)が干渉している可能性があります。
  3. REST API制限: wp-json/wp/v2/media エンドポイントに対して、サーバー側で特別な制限がかかっているかもしれません。

現時点での回避策

今のところ、画像アップロードだけは管理画面から手動で行うしかありません。 記事のテキスト更新(wp/v2/posts)は問題なく通るため、画像データ(バイナリ)の送信だけが引っかかっているようです。

もし同じ現象に遭遇した方がいれば、WAF以外の設定も疑ってみてください。解決策が見つかり次第、追記します。

ZIDOOKA!

この記事の内容について、対応できます

この記事に関連する技術トラブルや開発上の問題について個別対応を行っています。

個別対応は3,000円〜 内容・工数により事前にお見積りします
最後までお読みいただきありがとうございました

コメントを残す

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

AI活用に関するポリシー

当サイトでは、記事の執筆補助にAIを活用する場合がありますが、全面的な委任は行いません。