当SSL证书为非www时,将https www重写为非www失败



我尝试先将www重写为http和https的非www。适用于http请求,但对于https请求,当存在www时,浏览器显示"连接不是私有的"。

我的SSL证书被分配给非www。我想知道是否有一种方法将https www重定向到非www ?到目前为止,我已经尝试了不同的例子,但都没有成功:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

浏览器显示如下错误信息(当https://www.example.com):

您的连接不是私有的

此服务器无法证明它是www.example.com;它的安全证书来自foobar.com。这可能是由于配置错误或攻击者拦截您的连接。

到目前为止,我认为这是不可能的,除非我有www.example.com的SSL证书,否则连接将永远不会发生,服务器不会发送重定向响应。

到目前为止,我认为这是不可能的,除非我有www.foobar.com的SSL证书,否则连接将永远不会发生,服务器不会发送重定向响应。

浏览器将尝试建立到服务器的HTTPS连接,但由于提供的证书对域名无效,它将断开连接。

所以在这种情况下,您甚至没有得到可以重写请求的点。

如果你想让它在用户的浏览器中工作,你将需要获得一个证书,其中包括你的域名的www和非www版本。

最新更新