Ssl
當 HTTPS 通過 Pound 代理訪問時,Tomcat/JIRA 重定向到 HTTP
我正在嘗試讓 JIRA 安裝在執行 SSL 終止/“加速”的 Pound 代理後面工作。不幸的是,JIRA(Coyote)在訪問時似乎正在重定向到 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
我不知道如何阻止這個……這是我的英鎊配置:
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 中是否有任何設置會影響這一點?
我想通了,Tomcat中的代理設置解決了它(proxyPort和proxyName,IIRC)。
真高興你做到了。如果有用的話,我會嘗試為此添加一些顏色。當使用上游設備(代理、負載平衡器等)終止 SSL 時,下游服務不會知道這一點。因此,您的 Tomcat 看到的是正常的 HTTP 流量,特別是對於只有“/”的 URI。此時,Tomcat 正在執行一個自引用重定向到 /support/,應用程序在此配置。
當它這樣做時,它會建構 URI 以使用 http://… 而不是 HTTPS://,因為它實際上不知道正在執行 SSL 的上游代理。通過添加上面的 proxyPort 和 ProxyName 指令,您已經讓 Tomcat 明確了解上游設備,因此它現在將使用 https:// 重建這些重定向,這將起作用。
——馬特