S3 静态文件上的 HTTP 400

HTTP 400 on S3 static file

我们在获取一些静态文件时发现(在我们的错误跟踪工具中)一些 http 400 问题。

另外,在我们的 API 网关中有日志表明它将请求重定向到响应 400 的 S3。

这不是我们的 CDN,也不是我们的 API 网关。

为什么 S3 会响应 400 静态文件?

到目前为止,我们无法在任何地方找到任何关于它的确切信息,但一些关于 400 的一般资源指出了某些 HTTP header:

的问题

由于我们无法手动重现对我们系统的访问,我们开始尝试使用 Postman headers 获取带有一些意外的静态文件。

我们终于可以通过发送大量 Cookie 来快速重现问题了。

我们的假设是,Amazon S3 的静态网站可能有一些配置会阻止具有特定长度 headers/cookies 的请求。

一旦我们找不到在 S3 上配置它的方法,我们就在 API 网关中添加了一个插件,当它是静态文件请求时,它会在重定向之前删除 cookie到 S3(不需要)。

在那次更改之后,我们监控了我们的错误跟踪工具,静态网站上的 http 400 出现次数下降到 0。