新プログラミング言語『Zero』を開発しました! 本サイトの記事数は「589」!!

CloudFrontのURL上限は8192文字!413エラーを返します

             
  • 2020.04.24
  • AWS
CloudFrontのURL上限は8192文字!413エラーを返します
Advertisement

 

ひょんなことからCloudFrontのエラーに遭遇しました

他サービス間での値の受け渡し手段として、値を「URLのパラメータに込める」という方法があります。

ただ、URLには長さの上限があるんすよね。

 

僕のプロフィールはこちら

 

 

AWSだとCloudFront経由が多い

S3に静的資源をデプロイしている場合、CloudFrontを設定していることが多いかと思います。

今回も、S3に資源がありCloudFrontを設定しているという状況でした。

そんな中で発生したのが、CloudFrontの413エラーです。

 

 

CloudFrontのURL規定

URL:「https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#RequestCustomMaxRequestStringLength」

↑が公式ドキュメントです。以下引用。

 

パス、クエリ文字列 (ある場合)、ヘッダーを含め、リクエストの最大長は 20480 バイトです。

CloudFront はリクエストから URL を構築します。この URL の最大長は 8192 文字です。

リクエストまたは URL がこの最大制限を超えると、CloudFront は、リクエストヘッダーフィールドが長すぎることを示す HTTP ステータスコード 413 (Request Entity Too Large) をビューワーに返してから、ビューワーへの TCP 接続を終了します。

 

 

CloudFront使用時のURL最大長

ってことで、CloudFront使用時のURL最大長は「8192文字」です。

それ以前にブラウザにもURL上限があるので気を付けてください。

 

 

Advertisement

 

CloudFrontのURL上限を超えてみた

CloudFrontのURL上限を超えると本当に413エラーが返ってくるのかやってみました。

URLに8192文字を超える文字を入力すると、、、

 

CloudFront413エラー

ちゃんと413エラーが出ましたね。

お見事。

 

 

まとめ

こんな細かい内容は正直遭遇しないと分からないですね。

色々検証してみるもんですね。

ではさいなら。

Travelerを知らないの?