从我的服务器之一wget到一个特定的url不断得到超时。 从这个盒子的所有其他url工作正常。 这个url可以从任何其他我有。 这是输出:
wget -T 10 http://www.fcc-fac.ca --2011-07-14 14:44:29-- http://www.fcc-fac.ca/ Resolving www.fcc-fac.ca... 65.87.238.35, 207.195.108.140 Connecting to www.fcc-fac.ca|65.87.238.35|:80... failed: Connection timed out. Connecting to www.fcc-fac.ca|207.195.108.140|:80... failed: Connection timed out
你能告诉我什么可能是错的,我该如何解决它? 我使用Ubuntu 11.04(GNU / Linux 2.6.38-8-x86_64)
非常感谢你提前,并原谅我的noobish无知:)
ping,telnet,nc www.fcc-fac.ca 80 – 全部挂起。 然而,其他一些网站虽然只有部分主机是可以ping通的,
traceroute并没有告诉我很多:
7 rx0nr-access-communications.wp.bigpipeinc.com (66.244.208.10) 148.834 ms 149.018 ms 148.940 ms 8 sw-1-research.accesscomm.ca (24.72.3.9) 158.901 ms 159.805 ms 160.162 ms 9 65.87.238.126 (65.87.238.126) 150.069 ms 148.861 ms 148.846 ms 10 * * * ... 30 * * *
非常感谢您的答复!
我认为问题在于wget不能很好地处理IPv6地址,DNS服务器正在为该站点发送IPv6。 对不起,如果我误解了你的问题。 检查这些testing:
hmontoliu@ulises:~$ wget -T10 http://www.fcc-fac.ca --2011-07-14 16:44:34-- http://www.fcc-fac.ca/ Resolving www.fcc-fac.ca... failed: Connection timed out. wget: unable to resolve host address `www.fcc-fac.ca'
如果我强迫IPv6,因为我认为你的问题与它有关,它会失败:
hmontoliu@ulises:~$ wget -6 http://www.fcc-fac.ca --2011-07-14 16:40:44-- http://www.fcc-fac.ca/ Resolving www.fcc-fac.ca... failed: No address associated with hostname. wget: unable to resolve host address `www.fcc-fac.ca'
但是,如果我强迫使用IPv4它下载索引页面
hmontoliu@ulises:~$ wget -4 http://www.fcc-fac.ca --2011-07-14 16:40:56-- http://www.fcc-fac.ca/ Resolving www.fcc-fac.ca... 65.87.238.35, 207.195.108.140 Connecting to www.fcc-fac.ca|65.87.238.35|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 6554 (6,4K) [text/html] Saving to: `index.html'
看来wget无法连接到您的80端口的IP。
检查你的服务器是否可以ping通:
ping 65.87.238.35 ping 207.195.108.140
如果ip是可pingable的,请检查您是否可以使用telnet连接到端口80:
telnet 65.87.238.35 80
如果服务器不响应ping,则可能是源networking不可用或无法访问。
使用traceroute工具testing以查看连接失败的位置。
修复使用CURL库在PHP脚本中缓慢的DNSparsing。
从libcurl文档:
CURLOPT_IPRESOLVE
允许应用程序select在parsing主机名时使用何种types的IP地址。 这只在使用使用多个IP版本parsing地址的主机名称时才有意义。 允许的值是:
CURL_IPRESOLVE_WHATEVER
默认情况下,将地址parsing为系统允许的所有IP版本。
CURL_IPRESOLVE_V4
parsing为IPv4地址。
CURL_IPRESOLVE_V6
parsing为IPv6地址。
我相信这些可以被设定为环境variables。 至less在使用PHP时,这些设置对parsing器速度产生了巨大的影响。
运行nc www.fcc-fac.ca 80 ,inputGET /并按Enter两次。
遥远的景象可能会下降或阻止你。