我将需要一个专门的IP和SSL的网站。 我注意到SSL可以用于www或者canonical的名字,但是不能同时使用。
那么是否意味着专用IP只能被设置为其中的一个呢?
如果我为www设置了SSL,那么如果用户在不使用www的情况下手动转到URL,它将显示无效的证书 – 我怎么绕过这个? mod_rewrite在htaccess中?
如果我需要一个子域的SSL,那是另一个SSL证书和专用IP购买?
最好的select是使用一个SSL提供程序,该提供程序将在您的证书中包含基本域作为免费的主题备用名称。 像GoDaddy,Comodo,DigiCert和GlobalSign这样的CA都是这样做的: http ://www.sslshopper.com/ssl-certificate-comparison.html?ids=17,44,66,37
那么你将不会收到任何错误,但仍然build议redirect到一个标准名称(带或不带www)。
有两种不同types的SSL证书,一种是通配符,另一种是特定于域的。 大多数使用后者,因为它更便宜。
是的,您可以在htaccess中创buildredirect到您需要去的地方。 DNS也可以帮助这个。
如果您需要子域名,请查看通配符SSL证书。 这是唯一的方法,你可以得到所有的子域包括没有个人证书购买。
先回答最后一个问题。
有一件事叫做通配符SSL证书。 这意味着所有的子域都被证书覆盖。 例如* .mydomain.com
如果您要购买其中一种价格高出5-10倍的产品,您也可以解决第一个问题。
如果你坚持一个普通的SSL证书,我会build议重写到一个域types。无论是与www或没有。 总的来说,你应该总是这样做。 决定哪一个你喜欢(我的首选总是没有),并创build一个mod_rewrite规则301redirect(pernamentredirect)
这里是你如何做到这一点:
在你的相关的Apache的configuration文件为该域名:
ServerAdmin [email protected] ServerName www.example.com ServerAlias example.com。 。 。
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] RewriteRule ^(.*)$ http://example.com$1 [R=301,L]
没有严格的要求反向DNSparsing到网站的主机名。 只要求SSL证书中的主机名parsing为服务该站点的主机的IP地址(并且在同一IP上没有其他SSL站点,除非它们全都可以使用通配符证书)作为证书在任何HTTP协议交换之前发送。
我相信即使使用SSL,Apache也可以处理主机名协商,因此您可以发送一个HTTP 301永久移动来将用户redirect到规范URL。
通配符证书。 他们明显更昂贵,但确实允许有多个站点相同的证书。