Нода в панели красная, высвечивается ошибка:
timeout of 15000ms exceeded
Нода в панели красная, высвечивается ошибка:
timeout of 15000ms exceeded
Если вы убеждены, что фаерволл везде открыт, но при этом в панели все равно таймаут, то в 95% случаев проблема в одной из следующих причин:
ТСПУ (точнее – TCP16-20).
Если панель или нода в РФ – могут применяться ограничения на передаваемый tls-трафик, так как между панелью и нодой используется https:// соединение с помощью mTLS – к сожалению это может быть одной из причин.
Ограничения со стороны хостеров (или их анти-DDOS фильтры)
Например, недавно у человека была ситуация: панель и нода у одного хостера, в одной и той же локации.
И при этом панель не может подключиться к ноде с той же ошибкой – таймауты. Были проведены опыты и тесты – панель+нода(другой хостер), панель(другой хостер)+нода - все в порядке. Но если именно панель и нода были у одного хостера – ловим таймауты.
Вывод можно сделать такой, что либо в странах ЕС каким-то чудесным образом поставили ТСПУ (которое режет по tcp16-20), либо у хостера криво настроеный анти-DDOS фильтр, который направлен на агрессивную нарезку соединений со своих же подсетей
Большие потери пакетов на пути от панели к ноде
Можно выяснить с помощью mtr (tcp по порту ноды)
Соотвественно из вариантов мы имеем:
Организовать внутренную сеть с помощью Netbird, Tailscale.
Подключить и ноду и панель в нее, потом в панели подключаем ноду по внутреннему IP.
Сменить хостера панели или сменить хостера ноды.
Этот пункт думаю не нуждается в более развернутом комментарии
И касаемо того, как там все работает.
На простом примере: когда вы открываете панель (в браузере) – браузер делает запросы к бекенду панели (к его RestAPI), таким образом вы быстро и красиво получаете все данные с бекенда.
Соотвественно, в случае панели (в общем плане) и ноды:
Между панелью и нодой связь в одну сторону – от панели к ноде с помощью такого же RestAPI как когда вы в браузере ее открываете и браузер делает запросы к бекенду.
Единственное отличие – когда вы браузере все открываете – происходит обычное https:// соединение, с обычным TLS.
А когда панель делает запросы к ноде – происходит фактически тот же самый TLS, но с доп. слоем защиты в виде mTLS.
И, получается, что когда панель стучится к ноде и получает таймаут – мы можем представить такую же ситуацию когда вы из браузера открываете фронтенд-часть приложения, но вместо быстрого получения данных – вы в течении 30-60 секунд видите экран загрузке и потом ошибку о таймауте
Так что по существу никакой магии во внутреннем подключении панели и ноды нет