0

在我们的实时环境中,我们在 apache 后面有 tomcat。我们最近购买了一个 SSL 证书并将其安装在 apache 上。

我想保护所有与 https 的通信。

发生的情况是 https://{HOST}/{WEBAPP} 返回一个登录页面。但成功登录后,浏览器中的 URL 再次显示 http 链接。所以下一个请求返回到 http。我如何确保所有请求始终在 https 上。

mod_proxy & mod_jk 用于 apache 配置。配置中还存在以下内容:

ProxyPass / http://{localhost}:12004/
ProxyPassReverse / http://{localhost}:12004/
ProxyPreserveHost On

我阅读了很多文章和问题,但对我来说似乎没有一个对这个问题有意义。可能是因为我对这个配置了解不多。

请帮忙。

4

1 回答 1

0

如果 httpd 通过 SSL 接收到 httpd 发送到 Tomcat 的每个请求,那么您需要对 Tomcat 中的 HTTP 连接器进行一些调整。您需要设置以下属性:

scheme="https" secure="true" SSLEnabled="false"

最后一个不是绝对必要的,但最好是明确的。值得重申的是,这仅在以下情况下有效:a)所有请求都通过 httpd 接收,b)代理到 Tomcat 的所有请求都通过 https 接收。

您将需要在您的 http 虚拟主机中使用 Sibin Grasic 的答案中的重写配置,以将 Tomcat 流量重定向到 https。然后在您的 https 虚拟主机中,您可以添加 mod_proxy 指令。

于 2013-11-11T15:34:54.933 回答