cURL: имя хоста не найдено в кеше DNS
У нас странная ошибка. Это происходит примерно раз в минуту, и вот что мы видим в журналах:
* Connection #0 to host data01 left intact
* Hostname was NOT found in DNS cache
* Trying x.x.x.x...
* connect to x.x.x.x port yyyy failed: Connection timed out
* Failed to connect to x.x.x.x port yyyy: Connection timed out
* Closing connection 0`
Мы правильно определили data01 в нашем файле /etc/hosts, но по какой-то причине разрешенный IP-адрес xxxx неверен, поэтому соединение не устанавливается.
curl --version возвращает следующее:
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Пожалуйста помоги.
1 ответ
Решение
Наконец, нашли решение: CURLOPT_RESOLVE
Хотя cURL неправильно разрешал IP-адрес хоста, использование этой опции позволило нам отменить обычный процесс разрешения.
Надеюсь, что это помогает другим людям, которые находят ту же проблему.