我的 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 访问它,因此它出现故障...