diff --git a/caddy/sites/infra.caddy b/caddy/sites/infra.caddy index 4d22fa65..fe523795 100644 --- a/caddy/sites/infra.caddy +++ b/caddy/sites/infra.caddy @@ -123,6 +123,26 @@ metrics.gendsgn.ru { reverse_proxy alert-ack:8080 } + # Ретранслятор Bot API продукта (#3471). Путь от Selectel до + # api.telegram.org теряет примерно каждый четвёртый короткий запрос, тот же + # замер с Beget в те же минуты — чистый. Поэтому продуктовый бот ходит в + # Telegram отсюда, а не напрямую. + # + # Путь содержит токен бота (/tg-relay/bot/) — он не должен + # осесть ни в файловом логе сайта, ни в stdout-копии (#3154), поэтому + # запрос помечен log_skip. + @tg_relay path /tg-relay/* + log_skip @tg_relay + + handle_path /tg-relay/* { + reverse_proxy tg-relay:8080 { + # getUpdates — long-poll до ~40с, дефолтный таймаут ответа короче. + transport http { + response_header_timeout 80s + } + } + } + # Вход ОДИН — собственный вход Grafana (#3078). Внешний basic_auth снят по # решению владельца: два запроса пароля подряд мешали работе, а Grafana имеет # собственную аутентификацию с ролями и `GF_USERS_ALLOW_SIGN_UP=false`.