http - S3 静态文件上的 HTTP 400
问题描述
我们在获取一些静态文件时(在我们的错误跟踪工具中)发现了一些 http 400 问题。
此外,我们的 API 网关中有关于它将请求重定向到响应 400 的 S3 的日志。
它既不是我们的 CDN,也不是我们的 API 网关。
为什么 S3 会对静态文件响应 400?
到目前为止,我们在任何地方都找不到任何关于它的确切信息,但是一些关于 400 的通用资源指出了一些 HTTP 标头的问题:
解决方案
由于我们无法手动复制访问我们的系统,我们开始尝试使用 Postman 获取带有一些意外标题的静态文件。
我们终于可以通过发送大量 Cookie 来快速重现该问题。
我们的假设是,Amazon S3 的静态网站可能有一些配置会阻止带有一些特定长标头/cookie 的请求。
一旦我们找不到在 S3 上配置它的方法,我们就向 API 网关添加了一个插件,当它是静态文件请求时,它会在将 cookie 重定向到 S3 之前删除它(这不是必需的) .
更改后,我们监控了我们的错误跟踪工具,静态网站上 http 400 的出现次数降至 0。
推荐阅读
- apache-flink - Flink FsStateBackend 使用 S3 存储太贵了
- odoo-13 - 我们何时以及为什么使用 next_by_code()?
- javascript - 字符串 + 字符串 VS += 在 JavaScript 中
- automation - 有没有办法使用 Tricentis Tosca TBoxAPI 将在 excection 中生成的文件附加到结果中
- python - 在python中以日期时间格式获取当前小时和分钟
- php - 成功创建帐户后,Laravel 不会发送响应
- react-native - 如何将轮播添加到地图中,它仅在 React Native 中触摸地图上的图标时才会弹出 react-native-snap-carousel
- javascript - 如何使用 Webpack 5 加载服务工作者?
- flutter - 有状态小部件颤动中的未定义名称“小部件”
- reactjs - 如何在带有 RefForwardingComponent 的反应函数组件中使用泛型?