我遇到了一个我无法理解的情况。我们有一个 Fortigate 防火墙,可以在两个后端 Apache Web 服务器之间进行负载平衡。然后将 DNS 名称映射到负载均衡器上的虚拟 IP。
正如预期的那样,当您浏览到DNS名称/URL(例如 www.something.com)时,负载均衡器会从后端 Apache Web 服务器之一提供一个页面。浏览器中的 URL 保持为 www.something.com。据我了解,在这种情况下,负载均衡器只是在浏览器和 Apache 之间转发数据包,同时始终保持在路径中。
但是,如果我浏览到DNS 映射到的IP 地址,负载均衡器将返回一个 HTTP 302 Found,Location 标头设置为其中一个 Apache 的 DNS URL。浏览器中的 URL 更改为后端服务器 DNS。
为什么负载均衡器在通过 IP 查询时重定向,但在通过 DNS 名称查询时正确转发路径内。