我正在尝试将 Tomcat 作为 Pound 后面的独立 Web 服务器运行。Pound 已用于终止其他一些机器的 SSL 连接,因此我认为它也可以用于 Tomcat 服务器。
我的问题是我无法配置 Tomcat 来处理 Pound 的代理。
/etc/tomcat6/server.xml 中的标准连接器配置类似于
<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"/>
但这会导致浏览器请求重定向到 http 而不是 https。
(当然,防火墙已正确配置,允许端口 8443 到 Pound,并在内部允许端口 8080 从 Pound 主机到 Tomcat 主机。
将上述连接器配置更改为
<Connector port="8080"
protocol="HTTP/1.1"
proxyPort="8443"
proxyName="my.domain.com"
connectionTimeout="20000"/>
收到“该服务不可用。请稍后再试。”
有什么建议不包括终止 Tomcat 上的 SSL?
更新:显然,当我到处寻找错误时,我错误地配置了 Pound,同时又正确配置了 Tomcat。记住,孩子们,一定要重新检查你的配置文件。
最终对我有用的连接器配置是
<Connector port="8080" protocol="HTTP/1.1."
proxyPort="8443"
proxyName="my.domain.com"
connectionTimeout="20000"
scheme="https" />
当然,Pound 应该指向端口 8080,而不是我输入错误的端口 (8081)。
答案1
看来您想终止 Pound 上的 SSL,然后通过 http 将所有请求发送到 Tomcat。您的 Tomcat 连接器正在监听端口 8080。
尝试改变你的连接器,以便 proxyPort="443"
proxyPort="443"
无需担心端口 8443。如果您在 Tomcat 上终止 SSL,那么这是 Tomcat 用于 https 的默认侦听端口。由于您想在 Pound 上终止 SSL,因此端口 8443 不起作用。
幕后可能还隐藏着一些其他因素,导致此操作无法正常进行。如果没有关于您的设置如何响应 https 请求的更多信息,那么这是我能为您做的最好的事情。