aws-api-gateway - 无法通过 gzip 使用 API 网关
问题描述
我已经使用通过 Lambda 集成返回 JSON 的 API 设置了 API 网关。
当我尝试通过浏览器进行 GET 调用时,我
ERR_CONTENT_DECODING_FAILED
在 Chrome 和NSURLErrorDomain:-1015
Safari 上收到了错误消息。
当我使用 GET 调用时curl
,我能够得到响应。
在四处搜索时,我发现问题出在 gzip 上。浏览器似乎发送了一个标头,表明它们接受 gzip,但无法处理响应。当我尝试使用 curl 命令--compressed
时,我收到了类似的错误。
为了解决这个问题,我尝试在 API Gateway 上启用“启用内容编码”,最小大小为 0 字节。这并没有解决问题。
在尝试curl
使用标志进行调用时-compressed
,我传递了标题“Accept-Encoding”并将其设置为“”。这给了我一个有效的回应。
最终,我使用 AngularJS 进行 HTTP 调用。我尝试按上述方式设置标题,但 Angular 不允许。(给出错误Refused to set unsafe header "Accept-Encoding"
)
有人可以帮助我了解如何解决这个问题吗?
解决方案
推荐阅读
- python - 存储用户数据并在生产环境中保存
- html - 为什么我的网站底部有白框?
- python-3.x - 关于列表的 append() 函数的问题
- include - YAML 包括自动化
- javascript - Javascript:函数字典;字典中的一个函数调用另一个函数
- swift - 神经网络如何从无法直接控制的外部条件的测试输出中学习
- java - 我在 Eclipse 中导入 javazoom 库时遇到问题
- jquery - 收件人“”最近的注册请求过多
- filesystems - 使用 GParted 格式化 SD 卡不允许使用 Mbed-os 读取它
- php - PHP - 计算特定范围内的数组元素