我正在尝试让 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
我不知道如何阻止这个......这是我的 Pound 配置:
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 看到的是正常的 HTTP 流量,特别是对于仅包含“/”的 URI。此时,Tomcat 正在执行一个自引用重定向到/support/,应用程序配置的位置。
当它执行此操作时,它会构建 URI 以使用 http://... 而不是 HTTPS://,因为它根本不知道执行 SSL 的上游代理。通过在上面添加 proxyPort 和 ProxyName 指令,您已经让 Tomcat 明确了解上游设备,因此它现在将使用 https:// 重建这些重定向,这将起作用。
--马特
我想通了,Tomcat 中的代理设置解决了它(proxyPort 和 proxyName,IIRC)。