大きなJSONをPOSTするAPIが403になる原因がAWS WAFだった
開発環境では成功するリクエストが本番だと403になるので何が原因かひとしきり考えた後。
本番にはWAFがついてることを思い出してWAFがブロックしているんじゃないかと思ったところビンゴ。
リクエストをダッシュボードで確認すると「AWSManagedRulesCommonRuleSet」というマネージドルールグループの「SizeRestrictions_BODY」に引っかかっていることがわかりました。
(ACLを作るときにRequest sampling optionsをEnableにしているとルールに評価されたリクエストをダッシュボードで確認できます)
ちなみに「AWSManagedRulesCommonRuleSet」は「AWS managed rule groups」の「Core rule set」に該当します。

「AWSManagedRulesCommonRuleSet」を選択。

「Edit」。

「Count」のトグルボタンをオンにすると、そのルールを無効にできます。
これでリクエストを通すことができました。
WAFのついてる環境でのみ403がでるならなんらかのルールでブロックされてることが疑えそうです。
本番にはWAFがついてることを思い出してWAFがブロックしているんじゃないかと思ったところビンゴ。
リクエストをダッシュボードで確認すると「AWSManagedRulesCommonRuleSet」というマネージドルールグループの「SizeRestrictions_BODY」に引っかかっていることがわかりました。
(ACLを作るときにRequest sampling optionsをEnableにしているとルールに評価されたリクエストをダッシュボードで確認できます)
ちなみに「AWSManagedRulesCommonRuleSet」は「AWS managed rule groups」の「Core rule set」に該当します。



これでリクエストを通すことができました。
WAFのついてる環境でのみ403がでるならなんらかのルールでブロックされてることが疑えそうです。






