使用 FQDN 寻址时,Apache 生产服务器和开发服务器的行为有所不同

使用 FQDN 寻址时,Apache 生产服务器和开发服务器的行为有所不同

我们的生产 Apache 服务器完美地运行,无论是“https://prod.domain.com“ 或者 ”https://产品“(这是内部的,因此适用 DNS 搜索路径)。但是,我们的开发服务器的工作方式为”https://dev“,但不是”https://dev.domain.com“。在 Dev 上,当您使用 FQDN 时,您只会获得索引页。

它们使用相同版本的 Apache (2.2.15) 和相同版本的 OpenSSL (1.0.1e-57)。它们都是 CentOS 6,具有相似但不完全相同的软件包和补丁。

配置文件几乎相同,唯一的区别(名称除外)是生产服务器具有有效证书,而开发机器具有自签名证书,且均未过期。

Apache 配置的相关部分如下所示:

<VirtualHost *:443>
        ServerName dev.domain.com
        ServerAlias dev

最大的线索是,在生产服务器上,使用 FQDN 和短名称访问虚假链接时,两次失败都会记录在“access_log”中。在开发机器上,使用短名称访问虚假链接会记录在“access_log”中,但使用 FQDN 访问虚假链接会记录在“ssl_access.log”中。

DNS 和本地主机文件条目相同,并且可以从本地或从客户端对机器进行短名称或 FQDN 的 ping 操作。

有什么想法可以看哪里吗?

谢谢,布拉德

答案1

非常感谢 Piotr P. Karwasz,他在评论中提出的问题为我指明了不同的方向。

问题在于另一个配置文件中已经有一个 VirtualHost 指令。然而,这个问题并不是立即显而易见的,因为该指令的形式如下:

<VirtualHost _default_:443>

我们的生产服务器的系统主机名与 VirtualHost 名称不同,因此我们没有发现问题。我为开发框使用了不同的 DNS 名称,并将此 VirtualHost 行更改为使用该名称,问题就消失了。

布拉德

相关内容