我想用 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 的优点在于,我们可以快速轻松地更改证书(即向证书添加更多名称)