From 3a51a8d9aa72a57400f956735210662603de8fd2 Mon Sep 17 00:00:00 2001 From: lie-must-die Date: Sun, 19 Apr 2026 12:47:26 +0300 Subject: [PATCH] Revise CONFIG_PARAMS.ru.md for clarity and detail Updated descriptions and validation rules for various parameters in the Russian configuration documentation. --- docs/Config_params/CONFIG_PARAMS.ru.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/Config_params/CONFIG_PARAMS.ru.md b/docs/Config_params/CONFIG_PARAMS.ru.md index d4b696a..df0819c 100644 --- a/docs/Config_params/CONFIG_PARAMS.ru.md +++ b/docs/Config_params/CONFIG_PARAMS.ru.md @@ -2224,7 +2224,7 @@ ``` ## relay_client_idle_soft_secs - **Ограничения / валидация**: Должно быть `> 0`; Должно быть меньше или равно `relay_client_idle_hard_secs`. - - **Описание**: Мягкий порог простоя (в секундах) для неактивности uplink клиента в промежуточном узле. При достижении этого порога сессия помечается как кандидат на простой и может быть удалена в зависимости от политики. + - **Описание**: Мягкий порог простоя (в секундах) для неактивности uplink клиента в промежуточном узле. При достижении этого порога сессия помечается как кандидат на простой и может быть удалена в зависимости от политики. - **Пример**: ```toml @@ -2303,7 +2303,7 @@ | --- | ---- | ------- | | [`tls_domain`](#tls_domain) | `String` | `"petrovich.ru"` | | [`tls_domains`](#tls_domains) | `String[]` | `[]` | -| [`unknown_sni_action`](#unknown_sni_action) | `"drop"`, `"mask"`, `"accept"` | `"drop"` | +| [`unknown_sni_action`](#unknown_sni_action) | `"drop"`, `"mask"`, `"accept"`, `"reject_handshake"` | `"drop"` | | [`tls_fetch_scope`](#tls_fetch_scope) | `String` | `""` | | [`tls_fetch`](#tls_fetch) | `Table` | built-in defaults | | [`mask`](#mask) | `bool` | `true` | @@ -2353,13 +2353,17 @@ tls_domains = ["example.net", "example.org"] ``` ## unknown_sni_action - - **Ограничения / валидация**: `"drop"`, `"mask"` или `"accept"`. + - **Ограничения / валидация**: `"drop"`, `"mask"`, `"accept"` или `"reject_handshake"`. - **Описание**: Действие для TLS ClientHello с неизвестным/ненастроенным SNI. + - `drop` — закрыть соединение без ответа (молчаливый FIN после применения `server_hello_delay`). Поведение, неотличимое по таймингу от Success-ветки, но более «тихое», чем у обычного веб-сервера. + - `mask` — прозрачно проксировать соединение на `mask_host:mask_port` (TLS-fronting). Клиент получает настоящий ServerHello от реального бэкенда с его сертификатом. Максимальный камуфляж, но порождает исходящее соединение на каждый чужой запрос. + - `accept` — притвориться, что SNI валиден, и продолжить auth-путь. Снижает защиту от активного пробинга; осмысленно только в узких сценариях. + - `reject_handshake` — отправить фатальный TLS-alert `unrecognized_name` (RFC 6066, AlertDescription = 112) и закрыть соединение. Поведение, идентичное современному nginx с `ssl_reject_handshake on;` на дефолтном vhost'е: на wire-уровне выглядит как обычный HTTPS-сервер, у которого просто нет такого домена. Рекомендуется, если цель — максимальная похожесть на стоковый веб-сервер, а не tls-fronting. `server_hello_delay` на эту ветку не применяется, чтобы alert улетал «мгновенно», как у эталонного nginx. - **Пример**: ```toml [censorship] - unknown_sni_action = "drop" + unknown_sni_action = "reject_handshake" ``` ## tls_fetch_scope - **Ограничения / валидация**: `String`. Значение обрезается во время загрузки; значение, состоящее только из пробелов, становится пустым. @@ -3117,5 +3121,3 @@ username = "alice" password = "secret" ``` - -