如何configurationHAProxy通过未编码的URL传递给Jenkins后端?

我将HAProxyconfiguration为终止Jenkins CI服务器的SSL连接,通过普通的ol HTTP代理到Jenkins CI服务器后端。 我可以成功执行Jenkins CI服务器Web界面中所有需要的操作,包括pipe理实例。

但是,我得到了Jenkins的“反向代理设置已损坏”警告 。 这是由于更严格的代理configuration检查,因为Jenkins版本1.572,它使用以下forms的URL:

https://host-name/jenkins/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/testForReverseProxySetup/a%2Fb/ 

testing反向代理configuration。 引发警告的典型原因是通过反向代理将%2F解码为正斜杠,从而导致404错误。

对于Apache和nginx反向代理configuration似乎有良好的文档configuration解决scheme来消除此警告。 我没能find的东西类似于Apache的“AllowEncodedSlashes On”选项,或者nginx的“proxy_pass”configuration,甚至是在HAProxy后面设置Jenkins的示例(我使用的是Apache而不是nginx,因为我们已经有适合其他应用程序的HAProxy)。

  • 操作系统:CentOS 6.6
  • HAProxy版本:1.5.2-2
  • jenkins版本:1.610

事实certificate,这不是URL编码/解码的问题。 这只是简单的运营商错误 – 当在任何代理终止SSL时,您必须确保X-Proxy-Proto标头设置为https,这样Jenkins以这种方式生成的所有URL都可以使用httpsscheme。 我错过了疑难解答页面上的文档。 简单添加:

 http-request set-header X-Forwarded-Proto https 

到后端定义删除了警告。