cloudfront响应状态为413(请求实体太大)

时间:2016-10-25 16:15:49

标签: amazon-web-services amazon-cloudfront http-status-code-413

我们要求将大数据作为URL的一部分发送,这些数据将由angular读取以呈现页面。网址超过10000个字符。但是,cloudfront正在返回错误 -

  

错误的请求。由cloudfront(CloudFront)生成的请求ID:   I2fOApzZr4psKrWsY6abezp5R0m30zKDKE7c0MuB_JkjWbvxz5GVnQ ==

浏览器控制台使用以下消息返回错误代码413 -

  

无法加载资源:服务器响应状态为413(请求实体太大)

云前端是否有任何可以接受大型URL请求的设置。

我知道在apache上有一些像LimitRequestBody这样的设置可以允许大量输入,但是请求没有达到apache并且被cloudfront本身错误输出。

当我玩了多少个字符时 - 8226个字符后的云端断点。

1 个答案:

答案 0 :(得分:3)

不支持此功能。 CloudFront具有这些硬限制,这对大多数应用程序来说都是合理的:

  

请求的最大长度,包括标头和查询字符串:20,480字节

     

网址的最大长度:8,192字节

     

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html

8,226 - 8,192 = 34之间的明显差异可能归因于您的主机名和http://的长度,如果您计算的话。 CloudFront的文档说“URL”,但限制实际上可能仅适用于路径+查询字符串的组合长度,因为Host:标头与实际HTTP协议中的其余请求是分开的。

上述限制以及其他一些限制似乎并不可协商。

其他限制,例如带宽(40 Gbps),每个AWS账户的Web分配数量(200)仅仅是默认限制,您可以通过向描述您的用例的AWS支持提交请求来增加这些限制,但是在这里似乎并非如此。

  

由于某些身份验证问题,Angular无法直接调用api。

这种听起来像ajax调用代理REST API的情况,该代理REST API从需要授权的源获取数据,因此浏览器端代码不必......可能是Lambda背后的API网关。< / p>