Kev*_*vin 23 apache configuration tomcat reverse-proxy jenkins
我不知道为什么在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>
Run Code Online (Sandbox Code Playgroud)
也--prefix=/jenkins
已被添加到/etc/default/jenkins
文件中
这是詹金斯的错误吗?
Jos*_*ger 37
Jenkins作为Windows服务包遇到了这个问题.
根据他们的维基:
确保系统配置中配置的Jenkins URL与您用于访问Jenkins的URL匹配.
要达到系统配置:
确保端口值与计算机上Jenkins文件夹中jenkins.xml文件<arguments>
部分中设置的端口值匹配.
事实证明,即使烦人的消息持续出现,一切正常.我认为这是该版本的一个小错误.
对我来说,修复是添加:
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
Run Code Online (Sandbox Code Playgroud)
这让它停止抱怨.
Jenkins 具有主动监控功能,以确保正确配置正向和反向代理。在 1.552 版中,这些测试得到了改进,现在可以检测到以前未标记为损坏的错误代理设置。从版本 1.572 开始,即使不依赖反向代理的 Jenkins 实例也会显示此警告。
修复损坏的反向代理配置高度依赖于您的 Web 服务器和 Web 应用程序容器,这就是为什么对您的问题发布了这么多其他答案的原因。关于此主题的 Jenkins Wiki 文章“ Jenkins 说我的反向代理设置已损坏”,在评论中描述了几种解决此问题的方法。
从上面的文章:
为了使反向代理正常工作,它需要重写请求和响应。
但是正确的反向代理还涉及以下两个选项之一:
- 重写响应;或者
- 在转发的请求上设置 X-Forwarded-Host(也可能是 X-Forwarded-Port)标头。
就我而言,这实际上是第一个选项的问题,我的响应重写没有正确编码斜杠。如果您将 Apache HTTPD 与 Tomcat 一起使用,则需要向两个服务器添加对编码斜杠的支持,而不仅仅是 Apache HTTPD。
这些是在我的特定情况下解决此问题的说明:Amazon Linux EC2 实例上的 Jenkins 2.1.41,带有 Apache 2.4、Tomcat 8.5 和 Tomcat 连接器。
在/etc/httpd/conf.d/ssl.conf
添加以下行您的詹金斯Host
或VirtualHost
:
AllowEncodedSlashes NoDecode
Run Code Online (Sandbox Code Playgroud)
将以下行添加到/usr/share/tomcat8/conf/catalina.properties
:
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
Run Code Online (Sandbox Code Playgroud)
重启两个服务:
service httpd restart
service tomcat8 restart
Run Code Online (Sandbox Code Playgroud)
刷新您的管理 Jenkins 页面。警告信息将消失。
在 Apache HTTPD 中实现第二个选项的示例:
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
Run Code Online (Sandbox Code Playgroud)
对于 NGINX:
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26369 次 |
最近记录: |