为共享IP上的所有域呈现单一域SSL

我有一个在Ubuntu Server 12.04 LTS上运行Apache / 2.2.22的VPS。

我已经为domaina.com成功安装了一个SSL

不幸的是,如果我访问https : //domainb.com,https://domainc.com等…我提出了证书警告,因为每个域都呈现domaina.com证书。

我怎样才能阻止呢?

我可以停止Apache为所有共享相同IP的站点发送证书吗? 我可以阻止端口:443访问使用ufw的域名? 别的东西?

域Aconfiguration

<VirtualHost *:80> ServerName domaina.com ServerAlias www.domaina.com DocumentRoot /var/www/domaina.com/public </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName domaina.com ServerAlias www.domaina.com DocumentRoot /var/www/domaina.com/public SSLEngine on SSLCertificateFile /etc/apache2/ssl/domaina.com.crt SSLCertificateKeyFile /etc/apache2/ssl/domaina.key SSLCertificateChainFile /etc/apache2/ssl/domaina.com.ca-bundle </VirtualHost> </IfModule> 

域B,C …configuration

 <VirtualHost *:80> ServerName domainb.com ServerAlias www.domainb.com DocumentRoot /var/www/domainb.com/public </VirtualHost> 

遇到错误

浏览使用Mac OS X Mountain Lion,最新版本的Chrome,Safari,Firefox。

铬 – 这可能不是你正在寻找的网站! 您试图访问www.domainb.com,但实际上您已经到达一个标识为www.domaina.com的服务器。

Firefox – 此连接不受信任。 您已经要求Firefox连接到www.domainb.com,但我们无法确认您的连接是否安全。

Safari – Safari无法validation网站“www.domainb.com”的身份。

这是预期的行为。 这里有几个选项 – 您可以在您的SSL证书中使用主题备用名称,并为其他域名提供名称,您可以为其他域获得新的IP,也可以强制其他域名为非SSL 。 最后可能不会很好,因为您可能最终会使用Apache重写规则,这个规则只能在浏览器显示证书警告之后才能被识别。