127.0.0.1:8090
我在 Jenkins 服务器和客户端浏览器之间运行一个 apache 服务器。
我正在浏览器中给出http://123.45.67.89/jenkins
并期望 Jenkins 被重定向到http://123.45.67.89/jenkins/login
页面,但是相反,我被重定向到http://123.45.67.89/login
页面。
在 apache 中httpd.conf
我尝试给出ProxyPass
和ProxyPassReverse
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_module modules/mod_proxy.so
ProxyPass /jenkins http://127.0.0.1:8090/
ProxyPassReverse /jenkins http://127.0.0.1:8090/
据我了解,ProxyPassReserve
它将重写响应标头,/jenkins/login
以便当浏览器再次发送重定向请求时,它将http://127.0.0.1:8090/jenkins/login
不确定我的理解是否正确或者我是否遗漏了什么?
答案1
尝试添加:
ProxyPassReverse /jenkins http://123.45.67.89/
可能在 ProxyPass 上您正在维护原始主机标头(ProxyPreserveHost On
),如果是这样,这个 ProxyPassReverse 可能就会为您解决问题。
编辑:
我检查了我的迷你实验室,重点是詹金斯没有进行重定向,但它给了你这个 html
<meta http-equiv='refresh' content='1;url=/login?from=%2F'/>
我解决了这个问题,启动詹金斯与开关--prefix=/jenkins