Tomcat 6 背后的 Pound 反向代理

Tomcat 6 背后的 Pound 反向代理

我正在尝试将 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 请求的更多信息,那么这是我能为您做的最好的事情。

相关内容