Resolução do nome do host do Azure dentro do Web App

1

Nos últimos dois dias, tivemos algum problema em nosso aplicativo Web do Azure (S3 WebSite hospedado no data center do norte da Europa) ao resolver nomes de host.

Criamos uma página .aspx muito simples que tenta resolver google.com e, às vezes, recebemos o ip correto outras vezes que recebemos este erro:

System.Net.Sockets.SocketException (0x80004005): No such host is known at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6) at System.Net.Dns.Resolve(String hostName) at ASP._diagnostics_dns_aspx.HostName2IP(String hostname) at ASP._diagnostics_dns_aspx.Resolve(Object sender, EventArgs e)

Os mesmos problemas ocorrem ao resolver nomes de host internos do azure (* .cloudapp.azure.com) ou outros nomes de host (microsoft.com, ...).

Nosso suspeito é que uma das instâncias em que o aplicativo está hospedado (atualmente temos duas instâncias) tem a resolução do DNS quebrada.

Você pode ver o código completo da página aspx aqui: link

Mas, basicamente, use o seguinte código para resolver o nome do host solicitado:

  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( );
  }

Alguma ideia? É possível que tenhamos quebrado alguma configuração ou haja um problema no Azure?

ATUALIZAÇÃO: Se eu usar [System.Net.Dns]::GetHostEntry("google.com") ou usar nslookup dentro do console do Kudu PowerShell, o nome sempre será resolvido. Parece ser um problema relacionado apenas ao meu site. Eu tentei em ambas as instâncias.

    
por Davide Icardi 31.08.2016 / 13:53

1 resposta

0

Eu tenho um ticket aberto com o MS que parece confirmar que foi um bug no lado do Azure.

    
por 21.09.2016 / 09:36