【问题标题】:Name based virtual hosts serve the same SSL site基于名称的虚拟主机服务于同一个 SSL 站点
【发布时间】:2014-08-07 14:49:31
【问题描述】:

在我的服务器上,我有以下虚拟主机定义:

<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>

该站点本身运行良好,问题是如果我尝试使用 https 托管在同一服务器上的任何其他站点(虚拟主机)并跳过我收到 mysite.com 的警告。这对普通用户来说不是问题,但我注意到谷歌尝试并实际上通过 https 索引了我的“其他”网站上的大量 URL,这些 URL 实际上是来自 mysite.com 的页面,我担心我会受到惩罚重复的内容。

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

【问题讨论】:

  • 我刚刚意识到...如果任何模组认为这不属于这里,请将其移至正确的 SE 站点。但是,在 SO 上还有其他与 Apache 配置相关的问题。

标签: ssl https apache2 vhosts


【解决方案1】:

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

/etc/apache2/ports.conf 中将以下内容添加到&lt;IfModule mod_ssl.c&gt; 部分:

NameVirtualHost *:443

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

然后:

sudo a2ensite default-ssl
sudo service apache2 reload

完成。

【讨论】:

    猜你喜欢
    • 2012-01-22
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多