【发布时间】:2022-01-10 01:27:39
【问题描述】:
我正在开发一个 Web 应用程序,用户在该应用程序中将照片提交到在 AWS (Elastic Beanstalk) 上运行的 API。当用户尝试提交大于 2mb 的照片时,我看到了 413(有效负载过大)响应,这似乎是 Tomcat 8 默认设置为 maxPostSize 的结果。
因此,我正在尝试找出一种方法来修改此设置,并使用我们为每个启动自动缩放的新 EC2 实例预定义的其余 JVM 选项。我与 AWS 支持人员进行了交谈,他们建议使用 EB 扩展来设置 server.xml 文件,其中包含每次 Elastic Beanstalk 启动新服务器时都会复制的所需配置。
但是,由于我们所有其他预设都在 Elastic Beanstalk 配置中配置了环境变量/JVM 选项,因此我更愿意以相同的方式修改 Tomcat maxPostSize,但我无法弄清楚变量 (如果可能的话)使用 java -D 语法。有人能指出我正确的方向吗?
我非常感谢任何建议或建议!
【问题讨论】:
-
遵循 AWS 支持的建议并使用 ebextensions。 Tomcat我不知道,但是对于java环境,还有你需要配置的nginx来增加最大上传大小。
-
Tomcat 的
maxPostSize主要适用于application/x-www-urlencoded,您可能使用multipart/form-data请求,并且可以在您的应用程序内部设置此类请求的限制(例如通过@MultipartConfig)。此外,Tomcat 通常不会返回413,除非您使用的是FailedRequestFilter。 -
知道了!绝对有用的建议。但是,如果 Tomcat 没有返回 413,这可能是 AWS 配置问题吗?
标签: amazon-web-services tomcat8