Есть VPS сервер (ubuntu) и ip-камера с белым адресом. Сервер каждые 10 минут делает запросы на камеру на проверку новых видео. Одна проверка включает в себя 6 запросов (проверка доступности ip, получение токена, установка параметров, полученные данных, остановка токена, удаление токена).
curl запрос выглядит вот так:
curl_setopt_array($ch, [CURLOPT_USERPWD => 'admin:admin',
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_TIMEOUT => 500,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPAUTH=>CURLAUTH_ANY
]);
Сегодня по неизвестной мне причине причине начал получать ошибку
Connection timed out after 10001 milliseconds
. Ошибка возникает на любом из 6 этапов.
Для эксперимента запустил цикл со 100 такими запросами. 49 были с ошибкой.
Увеличил значение CONNECTTIMEOUT до 30, но это никак не повлияло положительно. Теперь я стал получать ошибки
Connection timed out after 30001 milliseconds
.
Тег linux, потому что я предполагаю, что проблема на стороне сервера, так как если выполнять эти же запросы с домашнего ПК, то на 100 запросов будет 0 ошибок. Камера
не находится в одной локальной сети в ПК.
ОДНАКО, если на домашнем ПК включить VPN с ip моего сервера, то будут те же самые ошибки. То есть явно что-то не так с сервером.
Ростелеком (провайдер камеры) говорит, что ни в чём не виноват и это проблема у меня.
Подскажите, как можно выяснить причину длительного соединения?
Вот что возвращает tcpdump
https://pastebin.com/QGsEJDLw
Я запустил 10 curl запросов на морду. Из них 2 были с ошибкой (более 10 секунд обрабатывались)