0

我的怀疑是,一旦连接被接受,这是不可能的,但我确实对浏览器实现或 DNS 标准有足够的了解。问题是,一旦客户端(Web 访问者)与已解析的 Web 服务器建立了连接,是否可以使用该服务器上的 PHP 脚本来强制客户端尝试连接到下一个可用的 A 记录(就好像服务器已经从未联系到或确认请求开始)?

我宁愿远离重定向,除非可以通过某种方式确定客户端在循环 DNS 配置中接收到的 A 记录的顺序(我不相信服务器可能知道)。

4

1 回答 1

0

下面是浏览器-DNS交互的过程:

(我会将查询传递给 TLD,这在此处无关紧要)

浏览器要求域的 DNS 访问正确的 IP。

DNS 根据自己的内部规则决定将哪个 IP 发送到浏览器。

浏览器的DNS回答“这个域有这个IP”

永远没有办法“影响”DNS。

所以不,一旦通信开始并且 TCP/IP 通道打开,您就不能“跳转”到另一台服务器。

现在,如果你想这样做,除了使用 301 或 302 重定向之外别无他法

再说一次,如果你必须这样做,我猜你的负载平衡肯定是错误配置的。

DNS 负载平衡器应该在您分派 IP 分派规则之前了解它们。如果没有发生这种情况,则说明您配置错误,或者没有安装或编程您必须做的事情。

于 2013-05-27T13:25:52.883 回答