在过去的几天里,我们的Azure (位于北欧数据中心的S3 WebSite )在解析主机名时遇到了一些问题。
我们创建了一个非常简单的.aspx页面,试图解析google.com,有时我们接收到正确的ip,其他时候我们得到这个错误:
System.Net.Sockets.SocketException (0x80004005):在System.Net.Dns.InternalGetHostByName(String hostName,Boolean includeIPv6)、System.Net.Dns.Resolve(String hostName)、ASP._diagnostics_dns_aspx.HostName2IP(String hostname)、ASP._diagnostics_dns_aspx.Resolve(对象发送方,EventArgs e)处不知道这样的主机。
在解析内部蔚蓝主机名(*.cloudapp.azure.com)或其他主机名(microsoft.com,.)时也会出现同样的问题。
我们的怀疑是其中一个应用程序托管的实例(我们目前有2个实例) dns解析被破坏。
您可以在这里看到完整的aspx页面代码:https://gist.github.com/davideicardi/6d3f5bf45efaeea0e2a03cba58beec5f
但基本上,它使用以下代码来解析请求的主机名:
private string HostName2IP(string hostname)
{
var iphost = System.Net.Dns.GetHostEntry(hostname);
var addresses = iphost.AddressList;
var addressList = new System.Text.StringBuilder( );
foreach(var address in addresses)
{
addressList.Append("IP Address: ");
addressList.Append(address.ToString( ));
addressList.Append(";");
}
return addressList.ToString( );
}有什么想法吗?我们有可能破坏了一些配置,或者Azure有问题?
更新:如果我使用[System.Net.Dns]::GetHostEntry("google.com")或在Kudu PowerShell控制台内使用nslookup,则名称总是解析的。似乎是一个问题,只与我的网站有关。这两种情况我都试过了。
发布于 2016-09-21 07:36:38
我有一个开放的门票与MS似乎确认,它是在Azure方面的错误。
https://serverfault.com/questions/803688
复制相似问题