基于名称的虚拟主机服务于相同的SSL站点



在我的服务器上,我有以下vhost定义:

<VirtualHost *:80 *:443>
  ServerAdmin admin@mysiste.com
  ServerName mysite.com
  ServerAlias www.mysite.com
  DocumentRoot /var/www/mysite.com/current/public
  SSLEngine on
  SSLCertificateKeyFile /etc/ssl/ssl.key/myserver.key
  SSLCertificateFile /etc/ssl/ssl.crt/mysite_com.crt
  SSLCertificateChainFile /etc/ssl/ssl.crt/mysite_com.ca-bundle
  <Directory /var/www/mysite.com/current/public>
    Allow from all
    Options -MultiViews
  </Directory>
</VirtualHost>

网站本身工作良好,问题是,如果我尝试任何其他网站(vhost)托管在同一服务器上的https和跳过警告我得到服务mysite.com。这对普通用户来说不是问题,但我注意到谷歌尝试并实际上通过https索引了我的"其他"网站上的大量url,这些url实际上是来自mysite.com的页面,我担心我会因为重复内容而受到惩罚。

我如何拒绝其他网站通过https服务?

我解决了问题。作为进一步的参考,这是Ubuntu 12.04。

/etc/apache2/ports.conf中向<IfModule mod_ssl.c>部分添加了以下内容:

NameVirtualHost *:443

根据上述文件中的说明,将/etc/apache2/sites-available/default-ssl中的<VirtualHost _default_:443>修改为<VirtualHost *:443>

:

sudo a2ensite default-ssl
sudo service apache2 reload

最新更新