我试图让一个JIRA安装在一个正在做SSL终止/“加速”的英镑代理之后工作。 不幸的是,当访问时,JIRA(Coyote)似乎redirect到HTTPS:
C:\Users\Josh>openssl s_client -connect www:443 ... --- GET /support HTTP/1.1 Host: www HTTP/1.1 302 Moved Temporarily Server: Apache-Coyote/1.1 Location: http://www/support/ Transfer-Encoding: chunked Date: Sat, 21 Jul 2012 16:05:03 GMT 0
我不知道如何阻止这个…这是我的英镑configuration:
ignorecase 1 listenhttps address 10.3.0.12 port 443 cert "/usr/local/etc/bundle.pem" service headrequire "Host: www" url "/support.*" backend address 10.3.0.16 port 8080 end session type cookie ttl 1800 id "X-SA" end end end
Tomcat或JIRA中有任何设置会影响这个吗?
真高兴你做到了。 如果有用,我会尝试添加一些颜色。 当用上游设备 – 代理,负载均衡器等终止SSL时,下游服务将不知道这一点。 所以你的Tomcat正在看到正常的HTTPstream量,特别是对于一个只有“/”的URI。 在这一点上,Tomcat正在做一个自引用redirect到/ support /,在那里configuration应用程序。
当它这样做,它build立URI使用http:// …而不是HTTPS://,因为它实际上不知道正在做SSL的上游代理。 通过添加上面的proxyPort和ProxyName指令,你已经给Tomcat明确的上游设备的知名度,所以它现在将使用https://重build这些redirect,这将起作用。
–Matt
我想明白了,Tomcat中的代理设置解决了它(proxyPort和proxyName,IIRC)。