![sites-available 中的 ServerName 与托管站点不匹配](https://linux22.com/image/626804/sites-available%20%E4%B8%AD%E7%9A%84%20ServerName%20%E4%B8%8E%E6%89%98%E7%AE%A1%E7%AB%99%E7%82%B9%E4%B8%8D%E5%8C%B9%E9%85%8D.png)
我可以访问两个不同的 Web 服务器,但这些服务器不是我设置的(无法联系到设置服务器的人),它们在不同的子域上托管同一个网站,但其中一个是备份,用于设计新内容,另一个是实时版本。它们在两个不同的子域上托管网站,如下所示。
sub1.domain.com (实时) sub2.domain.com (备份)
我最近在查看系统是否需要重新启动的应急措施,并注意到备份站点有一个奇怪的“sites-available”配置。它将国际域名 (.nu) 列为 ServerName,而不是预期的 sub2.domain.com。我检查了实时服务器以查看其配置方式,服务器名称与预期一致 (sub1.domain.com)。
我尝试查找国际域名,但无法访问,目前实际上可以购买。两个网站目前都可以使用,但我不确定备份服务器是否真的可以使用这个错误的服务器名称。
关于其如何运作,有什么提示吗?
更新
<VirtualHost *:####>
ServerAdmin [email protected]
ServerName sub.domain.nu
DocumentRoot /home/userx/www
<Directory /home/userx/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#other sub directory configs
#some error log statements are here
</VirtualHost>
答案1
在没有完整配置等更多细节的情况下,我敢说它正在运行,因为 sub2.domain.com DNS 条目指向您的服务器,并且您的服务器具有默认(即没有服务器名称)配置,该配置与 sub2.domain.com 的配置相同(可能也是默认文件位置,如 /var/www/ 等)。
或者按照文档简单来说,它使用默认配置,因为没有匹配的 ServerName 所以它会退回:
使用基于 IP 的虚拟主机时,特殊名称默认可以指定,在这种情况下,此虚拟主机将匹配其他虚拟主机中未明确列出的任何 IP 地址。在没有任何默认虚拟主机“主”服务器配置,由 VirtualHost 部分之外的所有定义组成,当没有 IP 匹配时使用。(但请注意,与 NameVirtualHost 指令匹配的任何 IP 地址都不会使用“主”服务器配置,也不会使用默认虚拟主机。有关更多详细信息,请参阅基于名称的虚拟主机文档。