Azure部署Java(Tomcat)Web应用时出现HTTP 413错误求助
解决Azure环境下Java Servlet/Tomcat应用HTTP 413请求过大问题
HTTP 413错误是请求实体超出服务端允许的大小上限,本地正常是因为本地Tomcat及网络无额外限制,而Azure服务层面存在默认的请求大小阈值,需针对部署方式调整对应配置:
部署在Azure App Service(托管式Tomcat)
- 调整App Service全局请求大小限制
- 登录Azure门户,找到目标App Service实例
- 左侧导航栏选择「配置」→「常规设置」
- 在「最大请求大小(MB)」项修改数值(根据业务需求设置,比如100MB)
- 保存配置后重启App Service
- 调整Tomcat自身请求大小限制
- 在项目
WEB-INF目录下修改web.xml,为默认Servlet添加maxPostSize参数:<servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>maxPostSize</param-name> <param-value>104857600</param-value> <!-- 100MB,单位为字节 --> </init-param> <load-on-startup>1</load-on-startup> </servlet> - 重新打包部署应用到App Service
- 在项目
部署在Azure虚拟机(自行部署Tomcat)
- 调整Tomcat服务配置
- 找到Tomcat安装目录下的
conf/server.xml文件 - 修改
Connector节点,添加或调整maxPostSize参数(Tomcat 8.5+版本设为-1表示无限制):<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxPostSize="104857600" /> <!-- 100MB,或设为-1取消限制 --> - 重启Tomcat服务生效
- 找到Tomcat安装目录下的
- 检查网络层面限制
- 若VM使用了网络安全组(NSG)或应用网关,需确认对应组件未设置请求大小限制;若使用应用网关,需在网关配置中调整「最大请求大小」参数
内容的提问来源于stack exchange,提问作者hell_storm2004
相关产品推荐
相关产品推荐

