我之前发过两个问题并没有得到一个好的答案。我将问题发送给亚马逊技术支持部门,他们无法解决问题。然后,已经将问题转发给他们的后端开发团队。
我尝试卷曲这两个网址:1。http://legislature.vermont.gov/; 2。http://nebraskalegislature.gov/。他们俩都可以在我的个人Ubuntu上建立连接。但这是EC2实例的情况。所有实例都通过其中一个。他们都没有通过这两个......
http://legislature.vermont.gov/
us-west-2b(pass)
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(失败)
答案 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'
使用dig
和nslookup
同样失败。 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.8
,nameserver 8.8.4.4
。在文件的顶部。它只是不起作用。我已经在亚马逊技术支持上花钱并等待他们两周。还没有解决方案。他们说DNS服务器端以某种方式阻止了亚马逊IP范围,他们正试图解决这个问题。
我修改resolv.conf的方式是否正确?