nginx反向代理Jenkins遇到的小问题
jenkins
前缀设置
- centos7 jenkins 配置路径:
/etc/sysconfig/jenkins,编辑原有配置 JENKINS_ARGS,添加--prefix=(需要添加的前缀),例如:JENKINS_ARGS="--prefix=/jenkins",此处前缀必须与nginx中配置的对应监听的 location配置一致,因为ngix做了反向代理,location监听了相应的路径,但是jenkins页面中的静态资源是使用的相对路径,如果不统一添加前缀,jenkins静态资源将无法进入nginx配置的反向代理条件,无法正确请求到资源。
nginx
配置location
- 配置监听的路径,例如:
location /jenkins/
- 设置代理
proxy_pass http://127.0.0.1:8081;,proxy_pass设置的代理链接根据后方是否有/表现不一。
- 如果带
/,当请求http://www.test.com/jenkins/abc,最终代理到的地址会:http://127.0.0.1:8081/abc
- 如果不带
/,当请求http://www.test.com/jenkins/abc,最终代理到的地址会:http://127.0.0.1:8081/jenkins/abc
- 所以为了能正确的给代理url添加jenkins的后缀,不需要添加
/
配置proxy_set_header
proxy_set_header Host $host:$server_port;
$host是监听的server的名字
$server_port是监听的servert的端口
- 个别情况下,如果使用的域名已经指定了端口,那么就不需要添加
$server_port
- 如果
proxy_set_header配置错误,会导致jenkins需要重定向的页面跳转出现路径错误,无法正常重定向