强制http为子域而不使用SSL

时间:2011-06-15 05:12:18

标签: .htaccess ssl https

我最近移动了服务器并同时重新开发了网站。以前所有页面都是通过https提供的,我想改变这一点,所以只有购物车页面是通过https。我也想清理一下这个网址。旧网址是:

https://secure.mydomain.com/onlinestore/index.php

我删除了安全前缀和子文件夹,现在是:

http://www.mydomain.com/index.php

问题是我希望点击旧链接或书签的用户重定向到新页面。我用htaccess工作了。但是,新SSL仅涵盖根域而不是安全子域。因此,如果有人点击旧链接,则会在重定向之前显示“此连接不受信任”。如果我将https更改为http,则工作正常。

所以我想知道的是,无论如何我都可以在检查SSL证书之前强制使用http而不是https。

希望有意义!

1 个答案:

答案 0 :(得分:2)

简短的回答是否定的。使用传统的SSL,您的Web服务器甚至无法在证书协商发生之前查看URL。它只看到端口443上的连接并开始进行SSL协商。然后浏览器会看到不匹配的证书并引发异常。

但是,更现代的浏览器和Web服务器(请参阅维基百科列表)支持名为Server Name Identification (SNI)的TLS扩展,它允许客户端在服务器必须响应之前发送它请求的主机名。证书。此时,您需要在该服务器上拥有secure.mydomain.com和www.mydomain.com的证书,并且需要将其配置为使用适当的证书进行响应。