为什么一个网站通过 telnet 说它在 nginx 上运行,但通过目录浏览却说它在 Apache 上运行?

为什么一个网站通过 telnet 说它在 nginx 上运行,但通过目录浏览却说它在 Apache 上运行?

运行“telnet website.com 80 HEAD / HTTP/1.0”声称服务器是 nginx/1.14.1,但是网站上启用了目录浏览功能,访问时会清楚地显示“Apache 服务器位于 website.com 端口 80”。这是什么原因造成的?

答案1

对我来说有两种可能的解释。

首先,所有者编译自己的 apache 版本并替换标识字符串以误导(攻击者、外部人员……)。良好的安全实践表明,应该完全禁用此 ID 横幅。
其次,您看到的目录列表来自 apache,但前端服务器是 nginx,它将请求代理到 apache(用于目录)

答案2

nginx 通常用作实际 Web 服务器前面的反向代理;这可以解释您的结果,因为 HTTP 连接由 nginx 提供,但真正的站点内容由 Apache 提供。

相关内容