У меня есть собственный клиентский плагин wordpress, который делает вызов cURL для приложения Node на сервере Ubuntu.
Вызов отлично работает с каждой установкой WP, за исключением одной, где все работало нормально до вчерашнего дня, а затем следующий вызов cURL внезапно начал возвращать
Не удалось подключиться к порту x.x.x.x 3344 через 1040 мс: в соединении отказано.
$curl = curl_init();
curl_setopt_array ($ curl, массив (
CURLOPT_URL => 'http://x.x.x.x/wpdata/get',
CURLOPT_PORT => 3344,
CURLOPT_RETURNTRANSFER => правда,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => правда,
CURLOPT_CUSTOMREQUEST => 'РАЗМЕСТИТЬ',
CURLOPT_POSTFIELDS =>'{
"message" : "КОРОТКО данные поста"
}',
CURLOPT_HTTPHEADER => массив (
'Тип контента: приложение/json'
),
));
если(! $results = curl_exec($curl)) {
умереть(curl_error($curl));
}
Приложение Node использует Express, оно управляется PM2 и работает без nginx и Apache, клиенты подключаются напрямую, используя вызовы IP:PORT.
Сервер, на котором размещено приложение Node, — это сервер Ubuntu 18 на виртуальной машине с fail2ban 0.10, но все правила фактически отключены (даже отключение самого fail2ban не решает проблему).
Также iptables -L -n не показывает никакого правила, которое могло бы выглядеть как запрет на IP-адрес неисправного сервера или порт прослушивания (в конце концов, один и тот же плагин на другом клиенте дает правильные результаты).
И /etc/hosts.deny, и /etc/hosts.allow тоже пусты.
Разозлившись после этого, кто-нибудь знает, где я могу найти, почему этот единственный клиент получает ответ «Отказ в подключении»?