非通配符 SSL 证书和子域名

非通配符 SSL 证书和子域名

我想用 SSL 证书保护我的博客应用程序的登录表单,我还想为诸如薄荷web stats 包。使用非通配符证书(例如 GoDaddy“Turbo”证书,价格约为 20 美元)是否可行?我真的不想花钱购买通配符证书。

需要明确的是,我唯一想使用 SSL 的地方是主博客应用程序内,而不是任何子域。我想我在某处读到过你不能这样做,因为如果你使用 SSL,Apache 虚拟主机必须配置为使用 IP 地址。我想就此得到一个明确的答案。

谢谢。

答案1

主要的限制是一个 IP 地址只能拥有一个 SSL 证书。

因为你只想在博客上使用 SSL,所以你提出的设置没有问题,只需使其成为唯一在 443 上监听的虚拟主机即可

# Virtualhosts on ports 80 and 443
NameVirtualHost *:80
NameVirtualHost *:443

# rewrite blog traffic to https
<VirtualHost *:80>
        ServerName blog.example.com
        DocumentRoot /var/www/blog
        RewriteEngine On 
        RewriteRule ^(.*)$ https://blog.example.com/$1 [R,L]
</VirtualHost>

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/server.crt
        SSLCertificateKeyFile /etc/apache2/ssl/server.key    
        ServerName blog.example.com
        DocumentRoot /var/www/blog
</VirtualHost>

<VirtualHost *:80>
        ServerName othersite.example.com
        DocumentRoot /var/www/other/
</VirtualHost>

这里有一个小小的限制,就是博客会捕获这里的所有 https 流量,无论主机名是什么,所以https://othersite.example.com将指向博客,并产生错误,因为名称与证书不匹配,但是用一个 IP 地址无法解决这个问题。

答案2

上次我设置一个带 SSL 的客户端时,我们选择了DigiCert 统一通信证书。 他们需要在两台服务器上运行带有 SSL 的在线 Exchange 和 Sharepoint 服务器。因此,我们能够使用外部和内部名称注册每台服务器。DigiCert UCC 的优点在于,我们可以快速轻松地更改证书(即向证书添加更多名称)

相关内容