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



我有一个服务器,那里有很多域,其中一个是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>

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

有人能告诉我如何解决它吗,或者指导我找到合适的文档?

谢谢。

这可能是因为

ServerName继承

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

Soruce Apache Docs

因此,请尝试使用此条目明确定义ServerName条目

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

最新更新