Назад | Перейти на главную страницу

«Не удалось разрешить хост» для любого внешнего контента

На нашем сайте мы запускаем несколько разных скриптов для разных сайтов (загрузка на amazon s3, данные из диаграммы, скрипт для подсчета подписчиков в твиттере), и все они время от времени просто перестают работать. Они работают большую часть дней, но иногда (например, сегодня) все просто перестают работать.

Этот простой скрипт для подсчета количества подписчиков в PHP

$url = "http://twitter.com/users/show/username";
$response = file_get_contents ( $url );
$t_profile = new SimpleXMLElement ( $response );
$count = $t_profile->followers_count;

Просто сидит там пару минут, а затем, наконец, выдает ошибку с надписью «Не удалось разрешить хост». Любой скрипт, который мы используем для внешнего сайта, дает нам эту ошибку. Я не совсем уверен, где проверить, что внезапно блокирует эти соединения и почему это работает в большинстве случаев, затем не работает в течение дня или около того, а затем снова работает.

Какие-нибудь советы?

Обновление: содержимое resolv.conf

search 147.225.210.rdns.ubiquityservers.com
nameserver 72.37.224.5
nameserver 72.37.224.6

Описанные вами симптомы являются классическим случаем, когда ваши DNS-серверы не отвечают. Когда ни один из DNS-серверов недоступен, тогда имена хостов не могут быть преобразованы в IP-адреса, и вы не можете разумно подключиться к чему-либо (по крайней мере, по имени).

Похоже, что вы используете DNS-серверы, предоставленные вам центром обработки данных, в котором находится ваш сервер. Надежность таких серверов часто вызывает сомнения.

Пытаться с использованием заведомо исправных серверов, таких как Google Public DNS вместо.

nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
nameserver 8.8.8.8
nameserver 8.8.4.4