我已经将HAProxy配置为终止Jenkins服务器的SSL连接,通过简单的ol‘HTTP代理到Jenkins服务器后端。我可以在Jenkins服务器web接口中成功地执行所有需要的到目前为止操作,包括管理实例。
然而,我得到了詹金斯“反向代理设置被破坏”警告“。这是因为自Jenkins版本1.572以来进行了更严格的代理配置检查,该版本使用了以下形式的URL:
https://host-name/jenkins/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/testForReverseProxySetup/a%2Fb/测试反向代理配置。发出警告的典型原因是反向代理将%2F解码为正斜杠,从而导致404。
为了消除此警告,Apache和nginx反向代理配置似乎有详细的文档化配置解决方案。我未能找到的是类似于Apache的"AllowEncodedSlashes On“选项或nginx的"proxy_pass”配置,甚至是在HAProxy后面设置Jenkins的示例(我正在使用它,而不是Apache或nginx,因为我们已经为其他应用程序设置了HAProxy )。
发布于 2015-05-26 15:10:44
事实证明,这并不是URL编码/解码的问题。这只是我的操作错误--当在任何代理上终止SSL时,您必须确保将X头设置为https,以便Jenkins以这种方式生成的所有URL都使用https方案。我漏掉了故障排除页面上文档中的一行。简单补充:
http-request set-header X-Forwarded-Proto https到后端定义时,删除警告。
https://serverfault.com/questions/693145
复制相似问题