如果有https,Apache会将所有网站重定向到一个域

时间:2014-09-30 10:25:10

标签: apache ssl

我有一个服务器,我有很多域名,其中一个是ssl安全的。

如果我使用https://使用任何其他域,则会显示ssl安全网站的内容。

在我的conf中我使用

<VirtualHost *:443>
    ServerName www.example.com

    DocumentRoot /home/domains/example.com/web/public/www/

    SSLEngine on
    SSLCertificateFile /home/domains/example.com/web/ssl/www.example.com.crt
    SSLCertificateKeyFile /home/domains/example.com/web/ssl/www.example.com.key
    SSLCertificateChainFile /home/domains/example.com/web/ssl/www.example.com.ca
#   SSLCACertificateFile /home/domains/example.com/web/ssl/www.example.com.ca

    ErrorLog /home/domains/example.com/web/log/error.log
    CustomLog /home/domains/example.com/web/log/access.log combined
</VirtualHost>

我发现可能是问题所在,但我找不到任何方法来解决它。

有人可以告诉我如何解决它,或者将我引导到适当的文档吗?

感谢。

1 个答案:

答案 0 :(得分:0)

可能是因为

  

ServerName继承

     

最好始终在每个基于名称的列表中明确列出ServerName   虚拟主机。如果VirtualHost未指定ServerName,则为服务器   name将从基本服务器配置继承。如果不   服务器名称是全局指定的,一个在启动时检测到   反向DNS解析第一个侦听地址。在任一情况下,   此继承的服务器名称将影响基于名称的虚拟主机   解析,因此最好始终明确列出ServerName   每个基于名称的虚拟主机。

Soruce Apache Docs

因此,请尝试使用此条目显式定义ServerName条目

<VirtualHost *:443>
    ServerName www.example.com
    ServerAlias example.com 
    DocumentRoot /www/domain
</VirtualHost>