tomcat可以通过过滤主机别名来进行ssl重定向吗?

Posted

技术标签:

【中文标题】tomcat可以通过过滤主机别名来进行ssl重定向吗?【英文标题】:Can tomcat perform ssl redirection by filtering host alias? 【发布时间】:2011-03-01 15:01:38 【问题描述】:

我们有一个 tomcat 服务器 (6.0.20) 在两个 url 后面运行一个 web 应用程序,例如www.foosecure.foo

这在 server.xml 中配置为一个具有单个别名的主机:

<Host name="www.foo" appBase="webapps">
    <Context docBase="foo" path=""></Context>
    <Alias>secure.foo</Alias>
</Host>

理想情况下,我们希望端口 80 上对 secure.foo 的任何请求都被自动重定向到使用 ssl。但是,我只能根据主机名 之后的路径找到重定向说明,因此我可以添加 /* 安全约束,但这将适用于两个 url。

有谁知道是否可以通过过滤请求的主机名来应用重定向?

(我们已经让 ssl 连接器、证书等工作正常)。

我知道我们可以通过在 tomcat 前面放置一个 apache 服务器并在那里处理重定向来做到这一点,但我很想知道 tomcat 是否可以自己做到这一点。

谢谢

【问题讨论】:

【参考方案1】:

使用“service components”捆绑连接器和引擎(与适当的主机)。在非加密主机中,您可以放置​​ html(元重定向)或 jsp(http 标头重定向)文件进行重定向。

【讨论】:

以上是关于tomcat可以通过过滤主机别名来进行ssl重定向吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 servlet 重定向之前使用过滤器修改响应 URL (Java/Tomcat)

没有 SSL 证书设置的虚拟主机重定向到使用 SSL 的其他虚拟主机

Confluence 6 通过 SSL 或 HTTPS 运行 - 重定向所有的 URLS 到 HTT

Tomcat 不会从 HTTP 重定向到 HTTPS

cloudfront 重定向到源而不是别名

如果主机名不是,htaccess 重定向