我们要求将大数据作为URL的一部分发送,这些数据将由angular读取以呈现页面。网址超过10000个字符。但是,cloudfront正在返回错误 -
错误的请求。由cloudfront(CloudFront)生成的请求ID: I2fOApzZr4psKrWsY6abezp5R0m30zKDKE7c0MuB_JkjWbvxz5GVnQ ==
浏览器控制台使用以下消息返回错误代码413 -
无法加载资源:服务器响应状态为413(请求实体太大)
云前端是否有任何可以接受大型URL请求的设置。
我知道在apache上有一些像LimitRequestBody这样的设置可以允许大量输入,但是请求没有达到apache并且被cloudfront本身错误输出。
当我玩了多少个字符时 - 8226个字符后的云端断点。
答案 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>