我遇到了一个我从未见过的奇怪问题。我已经在特定域上使用PHP中的file_get_contents()运行了6个月的cron作业,并且它运行正常。现在,突然间,连接几乎每次运行都会超时,但不是每次都会。有时它有效,有时不行。我可以通过我的个人浏览器访问URL,也可以通过浏览器访问多台其他计算机。
我们在URL上尝试了一个wget,它为该URL确定了4个IP地址。其中一个为wget工作。其他3人没有。
Ping没有用。
Curl响应就像file_get_contents()一样。有时候它有效,有时候不行。
我不是网络人,但我猜这是一个网络问题?您认为这个问题是什么?
任何帮助将不胜感激!
答案 0 :(得分:2)
正如您在对问题的评论中所说,您的合作伙伴似乎使用4个无效IP地址中的3个进行循环DNS。您的DNS解析器有75%的机会获取错误的IP,并且可能还会缓存它。
您的合作伙伴需要修复损坏的DNS条目,一切都应该再次正常工作。与此同时,我建议使用有效的IP地址。
修改强>
由于您似乎可以在家中使用所有4个IP,因此存在一些可能的问题:
DNS:运行nslookup your-partners-site.com
并将输出与您在计算机上获得的内容进行比较。
路由:对每个IP运行traceroute并比较输出。
防火墙:您知道的服务器之间是否有任何类型的防火墙?
您可能需要合作伙伴的帮助,以确保它不是非对称问题。
答案 1 :(得分:0)
我遇到过这个问题,我可以使用curl请求修复发送HTTP-User-Agent的问题。 我在浏览器中使用了用户代理,从那以后工作正常。
干杯