在apache中将https://server.com重定向到https://www.server.com

时间:2012-02-21 13:12:54

标签: redirect apache2 ssl-certificate

我正在尝试在apache中为模式的URL编写重定向:

https://server.comhttps://www.server.com

没有太大成功

重新启动的原因:我的SSL证书位于www.server.com,因此我希望用户访问正确的网站(并查看安全图标)。

问题:问题在于,当我尝试打开https://server.com时,浏览器会给我不正确的证书错误,并且在忽略不正确的证书问题之前,我的RewriteRule都没有执行。

在这种情况下如何重定向?

1 个答案:

答案 0 :(得分:8)

您无法使用一个证书执行此操作。原因是Web服务器需要在进行重定向之前进行ssl握手,因此您将始终遇到无效证书的问题。

你真的只有一个选项可以做到这一点 - 包括www和没有带证书和重定向的www。这可以通过多种方式完成,要么获得具有多个域名的证书,称为SAN证书,要么获得两个证书,一个用于www,一个用于没有。但是,在第二种情况下,您需要两个具有不同IP的Web服务器来完成您的任务。

另一种使用自己的方法,不用担心。指示用户访问常规http网站,并在需要SSL Cconnection时自行进行重定向。这就是amazon.com实际上做的事情。他们希望您浏览http,他们只有在您购买东西时才会将您重定向到SSL。他们的证书也只适用于www,只需转到https://amazon.com,如果没有www,您将看到他们的证书无效