我有一个包含以下内容的应用程序:
- Vue.JS 前端网站
- Dotnet Core API
从前端,我希望允许用户上传最多 10 个文件,总计最大 50 MB,我将把它们存储在 S3 中。为了允许 API 接受这种大小的请求,我在控制器操作中添加了以下属性:
[RequestSizeLimit(55 * 1024 * 1024)]
public async Task<IActionResult> SubmitWorkshopNote() {...}
此外,我在 startup.cs 中添加了以下内容:
services.Configure<FormOptions>(options =>
{
options.MultipartBodyLengthLimit = 55 * 1024 * 1024;
});
您可能注意到,我让 API 接受 55 mb 的请求,以便进行一些填充。在我的本地主机上测试这一切正常。
我将 API 部署到 elastic beanstalk,每当累积文件大小超过大约 28 或 29 兆字节时,我就会开始收到 CORS 错误(以下示例显示了一个内容长度约为 (38042883/(1024*1024)) =36MB):
我不知道是什么原因导致了这个问题。我尝试了以下步骤来解决这个问题:
我不知道还要查看/尝试什么。我想重申的是,只要累计文件大小(或实际上是帖子内容长度)为 27MB 或更少,就不会出现 CORS 问题,一切正常。
我根本不使用 AWS WAF,EB 环境的其余配置都是使用应用程序负载均衡器的默认配置。