目前,访问我们的www网址的用户会收到SSL错误,即“此网站的证书无效”。这是因为我们只有一个证书,它是为非WWW URL配置的:mysite.co
我们要求
的请求http://www.mysite.co
https://www.mysite.co
转到
https://mysite.co
反过来是可以接受的,因为我们的动机是通过仅支付一个证书来最小化成本,无论是www还是没有www。我确实读过another post,说SSL协商在服务器的任何响应之前发生(在我们的情况下是重定向),因此访问者在使用不在我们公用名中的域时会收到警告。但是,我修改了DNS以包含CNAME,以便所有www.mysite.co流量重定向到mysite.co,我们仍然在Firefox和Safari中看到错误
我们将Ubuntu与以下 mod_rewrite
一起使用1)在 / etc / apache2 / sites-available / mysite-ssl
<VirtualHost *:443>
RewriteEngine on
RewriteCond %{HTTP_HOST} www.mysite.com [NC]
RewriteRule ^(.*)$ https://mysite.com/$1 [R=permanent,L,NC]
ServerAdmin admin@mysite
ServerName mysite
ServerAlias www.mysite
... other stuff ...
</VirtualHost>
2)在 / etc / apache2 / sites-available / mysite
<VirtualHost *:80>
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>
有趣的是,Chrome在使用WWW.mysite.co(http和https)时说一切都很好
然而,Firefox和Safari都抱怨主机名不匹配(无法验证身份)
答案 0 :(得分:0)
所以经过更多的阅读和阅读研究,上述规则适用于将流量从 www.site.co 重定向到 site.co
但是,使用一个SSL证书保护两个或更多URL的唯一方法是购买:
通配符SSL证书,其中包含* .site.co ..这些不需要在购买时定义
包含一个或多个主题备用名称(SAN)的SSL证书,其中包含www.site.co .. mail.site.co ..等。这些需要在以下时间定义您购买证书,指定每个SAN