Socket error #101:Network is unreachable

32 views
Skip to first unread message

sashok1337

unread,
Aug 16, 2017, 4:53:44 PM8/16/17
to phpdaemon
Добрый вечер!

Приложение на phpDaemon'e посылает POST запрос с параметрами и получает на него некий JSON ответ. С самого начала всё работало, но при дальнейшем тестировании сначала каждый второй запрос стал фейлиться, а спустя некоторое время - все запросы (уже 15 минут нет ни одного успешного).

Ошибка PHPDaemon\Clients\HTTP\Connection: Socket error #101:Network is unreachable

В логах API (grep-ом вытащил по ИП):

ХХХ.ХХХ.ХХ.ХХ - - [16/Aug/2017:23:09:05 +0300] "" 408 0 "-" "-" "-"
............
ХХХ.ХХХ.ХХ.ХХ - - [16/Aug/2017:23:21:44 +0300] "POST /api/loadOrders HTTP/1.1" 200 751900 "-" "phpDaemon/1.0-beta3" "-"   <- успешный запрос
ХХХ.ХХХ.ХХ.ХХ - - [16/Aug/2017:23:21:58 +0300] "" 400 0 "-" "-" "-"      <- после этого 15 мин уже ничего нет

Параллельно с ошибками в логе запускаю тестовый php-файл с POST запросом с помощью CURL  - всё отлично работает.

Подскажите в чём может быть проблема?

Заранее благодарен!

sashok1337

unread,
Aug 16, 2017, 4:59:41 PM8/16/17
to phpdaemon
Забыл уточнить, phpdaemon самый свежий, PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS ), event & eio установлены из PECL и включены.

sashok1337

unread,
Aug 17, 2017, 6:46:14 AM8/17/17
to phpdaemon
Подебажил, выяснил что после "битого" пакета (в логах 400 или 408 ошибка) \PHPDaemon\Clients\DNS\Pool резолвит не тот IP адрес (в классе /PHPDaemon/Network/Connection в методе connectTcp на строке 659 $this->hostReal = $host)

Айпи хостера, но не нашей VPS.

sashok1337

unread,
Aug 17, 2017, 6:59:59 AM8/17/17
to phpdaemon
Всё, проблема устранена.

Дело было абсолютно не в phpDaemon'e, просто хостеры при установке ОС на VPS ставили в /etc/resolv.conf какой-то свой левый ип-шник, который, видимо, работал через раз. Исправил на 8.8.8.8 и всё полетело стабильно.
Reply all
Reply to author
Forward
0 new messages