您的位置:首页 > 大数据 > 人工智能

curl: (6) Couldn't resolve host getaddrinfo(3) failed 80 解疑

2016-01-12 11:37 721 查看
昨天遇到这么一个问题,折腾了半个晚上。。。

问题:

有个链接,在某不知名的服务器上

http://testso:8802/live/111.mpv

在A机器上能够拉到流,但是在B机器上拉不到。

在B机器上用 curl 来测试

curl -v http://testso:8802/live/111.mpv

一直报

curl: (6) Couldn’t resolve host

getaddrinfo(3) failed 80

换成 IP

http://22.59.126.38:8802/live/111.mpv

现象依旧

解决路径

去查了各种资料,主要有 IP V6 和 DNS 崩了,2种说法。

关掉 IP V6 和更换 DNS 后,无果。

针对 http://22.59.126.38:8802/live/111.mpv 链接,跟踪发现的

现象有:

1. tcpdump 后发现 DNS 有 +AAAA? NXDomain 现象。

2. 链接本身会被服务器本身 301 302 重定向到其他路径。

3. strace 发现调用路径后,把 111.mpv 当作域名来解析,然后返回失败的 NXDomain。

那这个时候 就跟 上面 2 种说法和原因没有关系了。

是由于链接所用的域名和 IP 的映射出现了变动,DNS 未及时更新,然而这个还要去用一个错误的 DNS 返回去重定向的新路径导致。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  curl 服务器 linux