带有SSL的AWS ELB到非SSL后端和jenkins – tomcatconfiguration

我正在使用AWS上的Tomcat在ELB后面设置Jenkins。 我希望ELB终止SSL连接,并在8080上与后端jenkinsbuild立非SSL连接。

我的连接看起来像 –

传入443到ELB – > 8080上的EC2上的jenkins非SSL传入

从ELB输出443到ELB < – 非SSLstream量从jenkins输出到ELB

我得到了第一个工作,我可以通过https://访问jenkins。 然而,jenkins说 – “看起来你的反向代理设置已经坏了”,并有一个链接https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+says+my+reverse+proxy+setup +中+破

我不太熟悉tomcatconfiguration,我认为它需要一个代理configuration。 我尝试添加proxyPort =“443”到我的server.xml连接器端口=“8080”..线,并没有工作。

你如何确保ELB充当SSL到非SSL代理,并且来自tomcat的jenkins http响应被ELB发送为https://

经过进一步的努力解决这个问题,我想出了一个办法,得到我想要做的。 我没有手动从jenkins部署战争,而是从RHEL发行版回购中安装了jenkins,所有的东西似乎都运行良好。

我的设置是:

互联网 – >(443)ELB(443)—>(8080)EC2jenkins

ELB没有启用粘性,正在终止SSL连接。 连接到Jenkins后端是通过HTTP。

希望这可以帮助任何想要直接在ELB后面运行Jenkins而无需Web服务器代理的人。

如果您通过WAR文件部署Jenkins,则可以设置ELB以通过端口8080转发HTTPS连接。

在ELB Listeners中,设置一个协议为HTTPS的新侦听器,并在端口443至8080之间变化。select实例协议为HTTP,端口号为8080.现在,当您访问https://jenkins.server.com:8080&#x65F6; ,它应该为你服务jenkins从战争中运行。