我遇到了一个问题,即我的 .NET Web 请求总是针对给定的 CNAME 访问相同的 IP。CNAME 绑定到多个 IP 地址,每次发生 DNS 查找时,这些 IP 地址都会以随机顺序返回(通过运行 nslookup 确认)。
我写了一个简单的应用程序来测试这个:
public void TestDNS()
{
while (true)
{
var ipAddress = Dns.GetHostAddresses("mywebsite.com").First().ToString();
Console.WriteLine(string.Format("Current: '{0}' at: '{1}'", ipAddress, DateTime.Now.ToLongTimeString()));
Thread.Sleep(1000);
}
}
我已经在 Server 2008 Datacenter、Server 2008 R2 Datacenter、Server 2012、Windows 7 和 Windows 8 上运行了这个应用程序。所有机器都有最新的更新和可用的服务包。
唯一失败的机器是 Server 2008。每台其他机器大约每分钟切换一次 IP 地址(TTL 为 1 分钟)。Server 2008 从不切换(运行了一个多小时)。
需要明确的是,在机器上运行 nslookup 和其他工具似乎表明 DNS 正在返回我所期望的内容。此问题似乎特定于 Server 2008 上的 .NET。
我已经尝试过这个相关答案中列出的项目,但没有成功。
有任何想法吗?