我尝试卷曲两个特定的域名。它适用于个人Ubuntu但不适用于Amazon EC2实例。我在美国尝试所有实例

时间:2016-01-13 15:53:48

标签: curl amazon-ec2 dns ubuntu-14.04

我之前发过两个问题并没有得到一个好的答案。我将问题发送给亚马逊技术支持部门,他们无法解决问题。然后,已经将问题转发给他们的后端开发团队。

我尝试卷曲这两个网址:1。http://legislature.vermont.gov/; 2。http://nebraskalegislature.gov/。他们俩都可以在我的个人Ubuntu上建立连接。但这是EC2实例的情况。所有实例都通过其中一个。他们都没有通过这两个......

http://legislature.vermont.gov/
  • us-east-1b(失败)
  • us-east-1c(失败)
  • us-east-1d(pass)
  • us-east-1e(失败)
  • us-west-1a(失败)
  • us-west-1c(pass)
  • us-west-2a(pass)
  • us-west-2b(pass)

    http://nebraskalegislature.gov/

  • us-east-1b(失败)

  • us-east-1c(pass)

  • us-east-1d(失败)

  • us-east-1e(pass)

  • us-west-2a(失败)

  • us-west-2b(失败)

  • us-west-2c(pass)

  • us-west-1a(pass)

  • us-west-1c(失败)

3 个答案:

答案 0 :(得分:0)

如果您从全局分散的主机获得不同的CURL结果,在对区域记录进行DNS更改后,很可能是DNS Caching issue

由于DNS主机和DNS缓存架构的分布式特性,DNS记录的更改通常不会立即传播到整个网络。这很可能就是你所看到的。

DNS更改要求所有缓存在为记录和/或区域本身设置TTL(生存时间)后过期并刷新。

给它一两个小时。在某些情况下,更改可能需要24小时才能传播。

答案 1 :(得分:0)

看来AWS技术支持的答案是正确的 - 不仅如同建议的那样,它不是DNS缓存问题,而且似乎目的地名称服务器没有响应来自EC2实例使用的DNS解析器(因地区而异,也可能由可用区域而异)。

  

对我来说也没有意义。

也许不是,但这就是证据所暗示的。

您没有发布您看到的实际错误,但这是我在我们看到的内容 - 东-1:

$ curl -v http://legislature.vermont.gov
* getaddrinfo(3) failed for legislature.vermont.gov:80
* Couldn't resolve host 'legislature.vermont.gov'
* Closing connection #0
curl: (6) Couldn't resolve host 'legislature.vermont.gov'

使用dignslookup同样失败。 EC2中的内置解析器无法访问这些域的名称服务器。

但是,如果您更改EC2实例中的名称服务器以使用外部DNS服务器(例如Google公共DNS 8.8.8.8或8.8.4.4),您会发现它确实有效。

虽然理论上可能这个问题是AWS解析器出现问题的结果,但似乎更有可能是托管这些域的DNS的基础架构存在问题。

答案 2 :(得分:0)

两周前我试图切换到另一台DNS服务器。我sudo vi /etc/resolv.conf并添加nameserver 8.8.8.8nameserver 8.8.4.4。在文件的顶部。它只是不起作用。我已经在亚马逊技术支持上花钱并等待他们两周。还没有解决方案。他们说DNS服务器端以某种方式阻止了亚马逊IP范围,他们正试图解决这个问题。

我修改resolv.conf的方式是否正确?