docs(docs): describe durable jobs, telemetry, and bundle limits
Зафиксированы очередь job, семантика метрик, лимиты бандла и исходящих запросов, а также чеклист продакшена для пула соединений. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
1 parent
bda45d633e
commit
240d83fc61
15 files changed
+839
-17
No files matched your search
@@ -37,6 +37,18 @@ curl -sS https://bgp.shnt.top/v1/auth/config
|
||||
|
||||
UI: `VITE_AUTH_ENABLED`, `VITE_AUTH_PORTAL_URL`. App Switcher: `CURRENT_APP_ID=bgp`, конфиг с `GET {portal}/api/v1/app-switcher`.
|
||||
|
||||
## Доверенные reverse proxy и публичный URL реплик
|
||||
|
||||
По умолчанию API считает соединение прямым: для аудита и лимита `EVOBGP_AUTH_RATE_LIMIT` используется IP TCP-пира, а `X-Forwarded-For`, `X-Real-IP`, `X-Forwarded-Host`, `X-Forwarded-Proto` и `Origin` не задают IP или публичный URL. Лимит авторизации — до 60 запросов в минуту на IP по умолчанию; значение `EVOBGP_AUTH_RATE_LIMIT` принимается в диапазоне 1–1000. Таблица лимитера ограничена 4096 активными IP; при заполнении новые IP получают `429` до истечения окна, действующие счётчики не вытесняются.
|
||||
|
||||
Для API за reverse proxy задайте `EVOBGP_TRUSTED_PROXY_CIDRS` списком **только адресов сетевых интерфейсов доверенных proxy**, например `10.20.0.5/32,10.20.0.6/32`. Пустое или некорректное значение отключает доверие к заголовкам. API разбирает `X-Forwarded-For` справа налево от TCP-пира и останавливается на первом недоверенном адресе; некорректная ближайшая цепочка возвращает IP TCP-пира. Proxy должен удалять клиентские `X-Forwarded-*` и устанавливать собственные `X-Forwarded-For`, `X-Forwarded-Host` и `X-Forwarded-Proto`. Не добавляйте широкие CIDR клиентов или всего Docker-окружения, если в них возможны прямые подключения к API.
|
||||
|
||||
При создании удалённого speaker безопаснее явно передать публичный HTTPS URL в `control_plane_url`: это значение имеет приоритет для команды установки. Если поле не задано, API использует валидные `X-Forwarded-Host` и `X-Forwarded-Proto` только от доверенного proxy, иначе схему прямого соединения и `Host`. `Origin` никогда не определяет адрес backend. Для deployment за proxy проверьте, что в результате создания speaker команда установки содержит внешний URL, доступный ноде.
|
||||
|
||||
## Исходящие запросы к CDN
|
||||
|
||||
Клиент CDN выполняет проверку DNS и назначения при локальном соединении и не использует `HTTP_PROXY`, `HTTPS_PROXY` или `NO_PROXY`: все CDN-запросы идут напрямую. Через внешний proxy нельзя гарантировать, что проверенный локально IP совпадёт с адресом, к которому подключится proxy. DNS разрешается заново для каждого нового соединения; перенаправления допускаются только на HTTPS URL без учётных данных. `EVOBGP_CDN_ALLOW_PRIVATE=1` явно разрешает приватные назначения **только для HTTPS** CDN URL; для HTTP этот флаг исключения не делает. Это правило не меняет приватный транспорт node agent.
|
||||
|
||||
## API-ключи (`EVOBGP_API_KEYS`)
|
||||
|
||||
Формат переменной окружения: список записей через **запятую** без пробелов внутри логики парсера (пробелы вокруг записей допускаются при обрезке). Каждая запись:
|
||||
|
||||
Reference in new issue
Block a user