当有多个 A 记录时,https 堆栈如何处理失败的链接?

当有多个 A 记录时,https 堆栈如何处理失败的链接?

我已经设置了 DNS 条目,以便某个 FQDN 有四个 A 记录,四个网络盒的四个 IPv4 地址通过路由器汇聚到单个 https 服务器。这可以在这些盒之间实现负载平衡。

我担心如果网络盒出现故障会发生什么。即使链接断开,DNS解析机制也会返回IPv4地址。我读到这里那个(修剪过)

几乎每个浏览器都会收到完整的 A 记录列表,如果使用的记录失败,则会检查其他记录。

这没问题。但我的服务器提供 Web 服务:它的客户端通常不是 Web 浏览器。我知道有人在 Linux Centos 7 下使用 libcurl,但可能还有其他。

各种 https 堆栈(包括但不限于上述内容)如何处理失败的链接(例如网络盒断电或线路切断)?

答案1

任何查询 DNS 记录的应用程序都会收到所有结果。如何处理这些结果取决于应用程序,它可以尝试第一个、固定数量或全部。

大多数应用程序应该尝试所有记录,但如果这对您很重要,您应该自己验证。只需设置一个指向一些不响应的地址的 DNS 名称,然后尝试访问该名称,看看尝试了多少个地址,以及超时时间有多长。

相关内容