Здравствуйте!
Извините, если похожий вопрос уже был. Буду благодарен за ссылки.
У меня следующая проблема:
На одном серваке находится около 20 проектов. Внезапно на некоторых проектах перестали отправляться запросы с помощью curl.
Т.е. если обращаюсь по адресу хоста, например 'http://site.ru', получаю ошибку "Couldn't resolve host 'http://site.ru'". Если вместо http://site[dot]ru указать ip адрес, то запрос происходит.
Раньше все работало и по имени хоста. Проблема возникла только на части проектов. Подскажите, где искать проблему, в какую строну копать? Может ли быть дело в настройках сервера?
1. stoler - 10 Июня, 2014 - 12:25:17 - перейти к сообщению
2. LIME - 10 Июня, 2014 - 12:54:12 - перейти к сообщению
проблема в DNS
не может curl получить ip по имени хоста
можно прописать тупо в hosts если иначе не решается
не может curl получить ip по имени хоста
можно прописать тупо в hosts если иначе не решается
3. stoler - 10 Июня, 2014 - 14:22:27 - перейти к сообщению
Разговаривал с сисадмином, он говорит, что c DNS все в порядке.
Проблема может быть в чем-то еще?
Проблема может быть в чем-то еще?
4. LIME - 10 Июня, 2014 - 14:24:31 - перейти к сообщению
ну пусть пинганет эти хосты на машине на которой curl работает
если в виртуалке то именно в ней и пинговать
(Добавление)
и кстати если в браузере открывается страница это не обязательно значит что DNS в порядке
оно кэшируется
перегрузись и будет радость
DNS мог сломаться сегодня а проявится только завтра
если в виртуалке то именно в ней и пинговать
(Добавление)
и кстати если в браузере открывается страница это не обязательно значит что DNS в порядке
оно кэшируется
перегрузись и будет радость
DNS мог сломаться сегодня а проявится только завтра
5. stoler - 10 Июня, 2014 - 18:40:51 - перейти к сообщению
Спасибо!
Админ сказал что перезагрузил php-fpm.
После этого запросы начали отправляться, но на одной из платежных систем получил ошибку 'error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure'. Решил так:
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3');
На другой платежной системе, во время обращения к их серверу, получаю 'SSL certificate problem: unable to get local issuer certificate' .
Админ сказал что перезагрузил php-fpm.
После этого запросы начали отправляться, но на одной из платежных систем получил ошибку 'error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure'. Решил так:
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3');
На другой платежной системе, во время обращения к их серверу, получаю 'SSL certificate problem: unable to get local issuer certificate' .
6. LIME - 10 Июня, 2014 - 20:54:23 - перейти к сообщению
я этих заклинаний не понял
но понял что писдит ваш сисадмин
пусть восстановит бэкап DNS или если он еще не делает бэкапы пусть смотрит логи ошибок
но понял что писдит ваш сисадмин
пусть восстановит бэкап DNS или если он еще не делает бэкапы пусть смотрит логи ошибок
7. stoler - 11 Июня, 2014 - 16:17:29 - перейти к сообщению
LIME пишет:
я этих заклинаний не понял
но понял что писдит ваш сисадмин
пусть восстановит бэкап DNS или если он еще не делает бэкапы пусть смотрит логи ошибок
но понял что писдит ваш сисадмин
пусть восстановит бэкап DNS или если он еще не делает бэкапы пусть смотрит логи ошибок
Спасибо!
В чем была первая проблема, я так и не понял до конца. Главное, сейчас все работает нормально.
Вторую проблему тоже вчера решили.
После обновления версии curl до 7.10, необходимо было указать что нами не используется сертификат (CURLOPT_SSL_VERIFYPEER, FALSE), ну или добавить этот сертификат.