【问题标题】:Apache tomcat : Permanent redirect not workingApache tomcat:永久重定向不起作用
【发布时间】:2016-01-28 01:08:30
【问题描述】:

我已经在我们的域上部署了一个带有 https 的 WAR 文件。目前,问题是如果我点击以下域:

https://www.domain-name.com
domain-name.com

那么我没有问题,但只要我尝试:

https://domain-name.com

我收到一个不受信任的连接错误。为此,我决定在 WEB-INF 文件夹中添加一个 urlrewrite.xml 文件,并为 web.xml 添加以下设置:

urlrewrite.xml:

<urlrewrite>
    <rule>
        <from>https://domain-name.com</from>
        <to>https://www.domain-name.com</to>
    </rule>
</urlrewrite>

我在 web.xml 中添加了这个:

 <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

POM.xml 中的依赖关系:

   <!-- URL redirect dependency -->
        <dependency>
            <groupId>org.tuckey</groupId>
            <artifactId>urlrewritefilter</artifactId>
            <version>4.0.4</version>
        </dependency>

不幸的是,它没有帮助。我该如何解决这个问题?你能帮忙的话,我会很高兴。

编辑

请注意,我检查了证书,是否有与 www.domain-name.com 匹配的 URL。这是我在密钥库中找到的:

#8: ObjectId:IDCriticality=false
SubjectAlternativeName [
  DNSName: domain-name.com
  DNSName: www.domain-name.com
]

我希望这会有所帮助。

【问题讨论】:

标签: java maven tomcat ssl url-rewriting


【解决方案1】:

url-rewrite 只能在请求到达服务器后运行。 TLS 握手(包括服务器向客户端提供其证书)是客户端(浏览器)检查服务器证书以查看其主机名是否匹配的地方。如果不匹配,浏览器将向用户显示错误。

只有几种方法可以避免这种情况:

  1. 切勿在 URL 中使用裸域名(例如,始终使用 www.domain-name.com
  2. 除了主要主题名称 www.domain-name.com 之外,还为 domain-name.com 添加一个“主题替代名称”到您的证书中
  3. 获取“通配符”TLS 证书

更新

您的 TLS 证书中有主题替代名称?如果是这样,浏览器不应该抱怨主机名。

更新

错误信息是:

攻击者可能试图从 domain-name.com 窃取您的信息(例如,密码、消息或信用卡).NET::ERR_CERT_COMMON_NAME_INVALID

高级:

此服务器无法证明它是域名.com;它的安全证书来自 delink.de。这可能是由于配置错误或攻击者拦截了您的连接造成的。

您的路由器正在对您与服务器的通信进行中间人攻击。您的服务器配置正确(我检查过:没问题)。您应该禁用路由器上的任何代理或其他类似功能,并让它让您在不干扰您的情况下访问 Internet。

【讨论】:

  • 是的,这也是我想知道的,即使有替代方案,它为什么会抱怨。任何想法,非常感谢。 :-)
  • Firefox 41.0.2,也在最新的 chrome、IE 上进行了测试。清除了整个历史记录并进行了测试,仍然没有运气。我可以通过电子邮件向您发送 URL,我在您的简历中的网站上找到。
  • 我已经给你发了一封电子邮件。非常感谢。 :-)
猜你喜欢
  • 2015-09-07
  • 2021-11-10
  • 2018-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多