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

Jenkins经Nginx反向代理无法加载静态资源,求配置修正方案

解决Jenkins通过Nginx反向代理后静态资源无法加载的问题

我之前踩过完全一样的坑!你的问题核心是Jenkins不知道自己是通过/jenkins子路径被反向代理的,导致它生成的静态资源URL还是用根路径(比如/resource.css),而Nginx没正确映射这些请求,加上原配置缺少关键的代理头信息,才会出现直接能访问资源但页面加载失败的情况。下面给你分步解决的方案:

第一步:修改Jenkins的上下文路径(关键)

因为你是用rpm包安装的Jenkins,配置文件在/etc/sysconfig/jenkins,打开这个文件找到JENKINS_ARGS这一行,在后面加上--prefix=/jenkins,修改后大概是这样:

JENKINS_ARGS="--prefix=/jenkins --httpPort=8080"

修改完成后重启Jenkins服务:

systemctl restart jenkins

这一步是让Jenkins知道自己的访问根路径是/jenkins,这样它生成的所有静态资源、接口URL都会自动带上这个前缀,从根源上解决路径不匹配的问题。

第二步:更新Nginx的代理配置

你的原配置只做了基础的转发,缺少必要的代理头和路径匹配规则,把location /jenkins块替换成下面的配置:

location /jenkins {
    # 注意这里要和Jenkins的prefix对应,末尾不要加斜杠
    proxy_pass http://127.0.0.1:8080/jenkins;
    
    # 传递真实的请求头,让Jenkins正确识别访问地址
    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;
    
    # 支持WebSocket,Jenkins的实时日志、构建状态更新需要这个
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    
    # 延长超时时间,避免长构建任务时连接被Nginx断开
    proxy_connect_timeout 10s;
    proxy_read_timeout 3600s;
    proxy_send_timeout 3600s;
}

为什么原配置不行?

  • 原proxy_pass http://127.0.0.1:8080/会把/jenkins/resource.css转换成/resource.css发给Jenkins,但Jenkins现在已经设置了/jenkins作为前缀,它只会处理/jenkins/resource.css的请求,所以路径不匹配。
  • 缺少Host等代理头,Jenkins会误以为自己是被直接访问127.0.0.1:8080,生成的资源URL会是http://127.0.0.1:8080/resource.css,浏览器自然加载不到。

第三步:验证配置

更新Nginx配置后,重载生效:

nginx -s reload

现在访问http://1.2.3.4/jenkins,应该就能看到正常加载CSS、图片的Jenkins页面了,直接访问资源URL也依然有效。

备选方案(不推荐)

如果暂时不能重启Jenkins,可以尝试用Nginx的sub_filter替换Jenkins输出中的根路径,但这种方法容易漏掉动态生成的URL,可靠性不如修改Jenkins前缀:

location /jenkins {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    sub_filter 'href="/' 'href="/jenkins/';
    sub_filter 'src="/' 'src="/jenkins/';
    sub_filter_once off;
    # 加上其他必要的代理头和WebSocket配置
}

还是优先推荐修改Jenkins前缀的方案,一劳永逸。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:45:06