Hosts 文件别名导致 https 调用出现错误

Hosts 文件别名导致 https 调用出现错误

我的 VPS 出现了一些奇怪的现象,我无法解释。

我的服务器是 Lucid Lynx。Apache 版本是 2.2.14

我想更快地向本地主机发出一些请求,因此在 /etc/hosts 文件中添加了一行:

127.0.0.1 example.com # example.com is currently hosted on the same instance.

我重新启动了 apache2,经过一个小时的调试后,我发现当服务器来自远程源时,它可以正确响应 443 端口上的任何 https 调用,但是当我从它自己的控制台尝试时,它会尝试使用简单的 http 进行通信。

从 /etc/hosts 中删除别名并重新启动 apache2 可以解决问题。

是否存在某些常见的配置错误,会导致这种行为?

答案1

以前明确不建议将主机名解析为 127.0.0.1,因为这会导致“愚蠢的程序”出现问题。无论是否使用环回接口,连接到本地 IP 都应该很快。

如果删除别名可以解决问题,就这么做。

答案2

a) 更改 /etc/hosts 后无需重新启动 apache b) 您是否更改了 /etc/hosts 并且 apache 在同一主机上运行?c) 向我们展示您的 apache 配置

apache 实际上并没有监听 127.0.0.1,所以你所做的似乎是错误的(至少对我来说)

[root@wcmisdlin02 ~]# netstat -tanpv | grep httpd
tcp        0      0 :::80                       :::*                        LISTEN      12428/httpd         
tcp        0      0 :::443                      :::*                        LISTEN      12428/httpd         
[root@wcmisdlin02 ~]# 

我认为主要问题是您的 https 虚拟主机绑定到特定 IP,而您尝试通过不同的 IP 访问它,因此它出现故障...

相关内容