Апдейт к истории про Cloudflare и chess.rodeo .
После прошлого поста я убрал Cloudflare совсем: домен перевёл на Porkbun, трафик пустил напрямую на сервер.
Казалось, что на этом всё.
Но я случайно с домашнего компа без впн заметил, что сайт грузится не полностью, модуль количества партий почему-то скрыт. Полез разбираться.
Со стороны сервера всё выглядит ок:
curl https://chess.rodeo
отвечает быстро, API работает, ошибок нет.
Начал смотреть соединения и увидел странную картину:
TCP до сервера есть,
TLS handshake проходит,
а дальше некоторые HTTP запросы зависают.
То есть соединение установилось, но ответа нет.
Сначала подумал, что это что-то у меня. Проверил Caddy, backend, логи, что только не перепробовал – ничего не помогает.
Написал хостеру. Они сказали, что у них всё нормально и проблем на сети не видят.
В итоге попробовал решил пустить трафик через прокси, заодно кэширование настроить и лимиты по количеству запросов – все заработало.
Похоже, что у некоторых провайдеров где-то по дороге до сервера ломался именно HTTP/HTTPS трафик. Через другой маршрут всё работает. При этом ping проходит, ssh тоже спокойно устанавливается. И можно думать что вроде все окей и даже не знать что у тебя проблема.
В идеале конечно не полагаться на один маршрут и один IP. Нужен прокси или CDN с несколькими точками входа, чтобы трафик мог идти разными путями. И все обвешать мониторингом (привет sentry) и аналитикой.