正确地将非SSL流量重定向到SSL流量

时间:2014-06-18 10:05:56

标签: tomcat redirect ssl web tuckey-urlrewrite-filter

我的Tomcat服务器出现问题。

当我在http:// beluka.net上访问我的网站时,我收到了一个安全警告,我想要离开。我宁愿将用户重定向到https:// www.beluka.net。我想问题是我在web.xml文件中的安全约束,这使得http://beluka.net重定向到https://beluka.net

<security-constraint>
    <web-resource-collection>
        <web-resource-name>ROOT</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint> 

我还有一个工作重写规则,它将所有非www-traffic重定向到www-traffic,工作正常,但问题是我接受安全警告后才重写规则。

如何在http:// beluka.net的web.xml安全约束中打开“漏洞”?

我的重写规则(使用tuckey)是

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
    "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">

<!--

Configuration file for UrlRewriteFilter
http://www.tuckey.org/urlrewrite/

-->
<urlrewrite>
    <rule>
        <name>Primary Domain Name Check</name>
        <condition name="host" operator="notequal">www.beluka.net</condition>  
        <from>^(.*)</from>
        <to type="permanent-redirect">https://www.beluka.net$1</to>
    </rule>
</urlrewrite>

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。

一种方法是为beluka.net创建一个新的虚拟主机,并部署一个简单的Web应用程序,将每个请求重定向到www.beluka.net。这样,http://beluka.net的请求将被重定向到http://www.beluka.net,然后再转到https://www.beluka.net,您将不会收到错误匹配的主机警告。

另一种方法是使用SAN为beluka.net重新订购证书。这样你的证书就会对beluka.net和www.beluka.net有效

也可能有其他方法可以做到这一点。

相关问题