将文件提交到 Elastic Beanstalk 上的 WebApp 时获取 413 负载太大

Getting 413 Payload too Large when submitting files to WebApp on Elastic Beanstalk

我正在开发一个 Web 应用程序,用户可以在该应用程序中将照片提交到 AWS (Elastic Beanstalk) 上的 运行 API。当用户尝试提交大于 2mb 的照片时,我看到 413(负载太大)响应,这似乎是 Tomcat 8 的默认 maxPostSize 的结果。

因此,我正在尝试找出一种方法来使用我们为每个使用自动缩放启动的新 EC2 实例预定义的其余 JVM 选项来修改此设置。我已经与 AWS 支持人员谈过,他们建议使用 EB 扩展来设置一个 server.xml 文件,其中包含每次 Elastic Beanstalk 启动新服务器时都会复制的所需配置。

但是,由于我们所有其他预设都在 Elastic Beanstalk 配置中配置了环境 variables/JVM 选项,我更愿意以相同的方式修改 Tomcat maxPostSize,但我没有能够使用 java -D 语法找出变量(如果可能的话)。有人能给我指出正确的方向吗?

非常感谢任何意见或建议!

这个错误发生在我们的测试环境中,我意识到 AWS 代理服务器实际上是 运行 Nginx,而不是 Tomcat(它应该一直都是)。我们切换回 Tomcat,问题就解决了。看来问题可能是 Nginx 的默认值 client_max_body_size.