子域名和 SSL > 如何在 *.example.com 以及根目录提供 SSL

子域名和 SSL > 如何在 *.example.com 以及根目录提供 SSL

我知道您可以使用通配符 SSL 证书在任何子域中提供 SSL,但您如何做到这一点,同时在根域中也使用 SSL(即,当有人https://example.com/在没有 的情况下键入 时www)?我是否只安装通配符证书,并安装第二个证书来处理根 :443 请求?我不能使用 mod_rewrite,因为浏览器在警告用户缺少 SSL 之前不会走那么远。

答案1

一个包含“X509v3 主题备用名称”属性中描述的所有域的证书可以完成这项工作。据我所知,大多数现代网络浏览器都支持此功能,但我不确定知名的商业 CA 是否会颁发此类证书。

答案2

许多 CA(包括 Comodo 和 DigiCert)会将基本域名作为免费 SAN 包含在其通配符证书中:http://www.sslshopper.com/ssl-certificate-comparison.html?ids=26,13,45

因此,您可以使用一个通配符证书来保护 domain.com 和 any.domain.com。这样您就不会收到任何错误,但您可能仍想将它们重定向到 www。

答案3

恐怕您需要 2 个证书才能实现此功能。

答案4

我使用 mod_rewrite 来实现这个目的,我重定向请求来自https://domain.com/application/https://www.domain.com/application/使用以下规则:

RewriteEngine On

# Use correct hostname
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301, L]

因此您只需要一个通配符 SSL 证书。

相关内容