配置Nginx实现通过指定路径访问Jenkins服务
配置Nginx代理Jenkins到/jenkins路径
1. 修改Nginx配置文件
在你现有的server块中添加一个针对/jenkins路径的代理配置,完整配置如下:
server { listen 80 default_server; listen [::]:80 default_server; # 代理.NET Core应用到根路径 location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 新增:代理Jenkins到/jenkins路径 location /jenkins { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; } }
2. 配置Jenkins上下文路径
由于Jenkins默认以根路径运行,直接代理会导致页面内的链接跳转错误,需要修改Jenkins的启动参数,指定上下文路径:
- 编辑CentOS上的Jenkins配置文件:
/etc/sysconfig/jenkins - 找到
JENKINS_ARGS行,修改为:JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpPort=8080 --prefix=/jenkins"
3. 重启服务使配置生效
执行以下命令重启Jenkins和Nginx:
sudo systemctl restart jenkins sudo systemctl restart nginx
验证配置
现在你可以通过http://你的IP/jenkins访问Jenkins服务,同时原有的http://你的IP/仍可正常访问.NET Core应用。
内容的提问来源于stack exchange,提问作者Vazha
相关产品推荐
相关产品推荐

