You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx反向代理WildFly部署大WAR包触发401无限循环故障

问题现象
  • 部署环境:WildFly 26.0.1 + Nginx反向代理,小体积WAR包通过管理控制台部署正常,绕过Nginx直连WildFly时大体积WAR包部署也正常
  • 异常表现:Nginx已配置client_max_body_size 100M,但部署大WAR包时客户端请求挂起,Nginx access.log无限循环记录POST /management-upload HTTP/1.1" 401 77,WildFly侧无任何部署相关日志
  • 正常对照:小WAR包部署时同路径请求返回POST /management-upload HTTP/1.1" 200 68
  • 现有Nginx配置如下:
server {
  server_name www.example.com example.com;
  listen 80;
  listen [::]:80;
  client_max_body_size 100M;

  location / {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;

    proxy_pass http://127.0.0.1:8080;
    proxy_read_timeout  90s;
 }

  location /console {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;

    proxy_pass http://127.0.0.1:9990/console;
    proxy_read_timeout  90s;
  }

  location /management {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;

    proxy_pass http://127.0.0.1:9990/management;
    proxy_read_timeout  90s;
  }
}
故障原因

现有Nginx配置漏了/management-upload路径的匹配规则。WildFly管理控制台处理大体积部署包上传时,不会走/management路径,而是单独调用/management-upload接口做分块上传。当前配置下这个请求会被优先级最低的location /规则转发到8080端口的业务服务端口,而非9990的管理端口,业务端口没有对应管理接口,会持续返回401未授权,触发前端上传逻辑无限重试,最终表现为请求挂起、日志循环刷401记录。
小体积WAR包部署正常,是因为控制台对小文件走的是/management接口上传逻辑,刚好匹配到了正确的转发规则,没有触发配置缺陷。

修复方案

在Nginx配置中新增/management-upload路径的转发规则,转发到9990管理端口,同时调整参数适配大文件上传场景:

  1. 在现有location /management配置块下方新增如下规则:
location /management-upload {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    # 关闭Nginx请求体缓冲,大文件直接透传给WildFly,避免本地缓存占用过高
    proxy_request_buffering off;
    # 调大超时阈值适配大文件长耗时上传,可根据实际包大小调整
    proxy_read_timeout  600s;
    proxy_send_timeout  600s;

    proxy_pass http://127.0.0.1:9990/management-upload;
}
  1. 执行nginx -t校验配置语法无误后,执行nginx -s reload重载配置即可生效。

注意:如果后续需要部署超过100M的WAR包,同步调大client_max_body_size参数到对应阈值即可。


内容的提问来源于stack exchange,提问作者Stephan Muc81927

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 09:24:20