我不知道为什么Jenkins更新到版本1。591(Ubuntu Server 12.04),原来正确设置的反向代理现在变得损坏。我目前的设置与Jenkins wiki中所说的完全相同:
ProxyPass /jenkins http://localhost:8081/jenkins nocanon
ProxyPassReverse /jenkins http://localhost:8081/jenkins
ProxyPreserveHost On
ProxyRequests Off
AllowEncodedSlashes NoDecode
<Proxy http://localhost:8081/jenkins*>
Order deny,allow
Allow from all
</Proxy>
--prefix=/jenkins
也已添加到/etc/default/jenkins
文件中
是Jenkins的窃听器吗
9条答案
按热度按时间xqkwcwgp1#
我在使用Jenkins作为Windows服务包时遇到了这个问题。
根据wiki:
确保在系统配置中配置的Jenkins URL与您用于访问Jenkins的URL相匹配。
要进入系统配置:
1.转到您的Jenkins页面
1.单击管理Jenkins
1.单击配置系统
1.滚动到Jenkins Location,找到Jenkins URL。
确保端口值与jenkins的
<arguments>
部分中设置的端口值匹配。xml文件,位于计算机上的Jenkins文件夹中。tgabmvqs2#
对我来说,解决办法是添加:
这让他停止了抱怨。
ioekq8ef3#
Jenkins具有主动监控功能,以确保正确配置转发和反向代理。在版本1中。552中,这些测试得到了改进,因此现在可以检测到以前未标记为损坏的不正确代理设置。从版本1开始。572,即使不依赖反向代理的Jenkins示例也会显示此警告。
修复损坏的反向代理配置高度依赖于您的Web服务器和Web应用程序容器,这就是为什么有这么多其他答案发布到您的问题。Jenkins Wiki关于这个主题的文章“Jenkins says my reverse proxy setup is broken“在评论中描述了几种修复此问题的方法。
从上面的文章:
要使反向代理正常工作,它需要重写请求和响应。
但正确的反向代理也涉及以下两种选择之一:
1.重写响应;或
1.在转发的请求上设置X-Forwarded-Host(可能还有X-Forwarded-Port)报头。
在我的例子中,这实际上是第一个选项的问题,我的响应重写没有正确地编码斜杠。如果您在Tomcat中使用Apache HTTPD,则需要为 * 两个 * 服务器添加对编码斜杠的支持,而不仅仅是Apache HTTPD。
以下是在我的特定情况下解决此问题的说明:Jenkins 2.1.41在Amazon Linux EC2示例上,使用Apache 2。4、Tomcat 8。5和Tomcat连接器。
在
/etc/httpd/conf.d/ssl.conf
中,为JenkinsHost
或VirtualHost
添加以下行:在
/usr/share/tomcat8/conf/catalina.properties
中添加以下行:重新启动两个服务:
刷新您的Manage Jenkins页面。警告信息将消失。
在Apache HTTPD中实现第二个选项的示例:
对于NGINX:
jhiyze9q4#
对于nginx,这也帮助了我:
不要在上面的url后面加上斜杠,也不要在
proxy_pass
的url后面加上斜杠。mdfafbf15#
事实证明,即使烦人的消息不断出现,一切都很正常。我认为这是版本的一个小bug。
w46czmvw6#
这里的a link清楚地说明了在1之后有些东西被改变了。第552章增加这些新的东西
解决了我的问题,警告消失了。
cvxl0en27#
它试图验证设置中指定的url与实际的url:
1.去管理Jenkins
1.配置系统
1.将url更改为您的公共IP地址
1.保存
eeq64g8w8#
如果你设置了一个Referrer-Policy头,它会删除“referer”头,也可以看看。该脚本由
/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/testForReverseProxySetup/
上的自测试XHR脚本使用。2admgd599#
转到“管理Jenkins”-〉“配置系统”-〉“Jenkins位置”标题-〉“Jenkins URL”是“http://localhost:8081/jenkins-postly”。我把它改为“http://localhost:8081/”,现在我看不到这个错误。