我正在使用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时 ,它应该为你服务jenkins从战争中运行。