From c551ef8457d9cb8bd36e490a30bd12523b3fa549 Mon Sep 17 00:00:00 2001 From: Nikita Korotaev Date: Sun, 14 Jul 2024 19:30:45 +0500 Subject: [PATCH] translate /config/transports/httpupgrade.md --- docs/ru/config/transports/httpupgrade.md | 53 ++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 docs/ru/config/transports/httpupgrade.md diff --git a/docs/ru/config/transports/httpupgrade.md b/docs/ru/config/transports/httpupgrade.md new file mode 100644 index 0000000..208ee3a --- /dev/null +++ b/docs/ru/config/transports/httpupgrade.md @@ -0,0 +1,53 @@ +# HTTPUpgrade + +Это протокол, реализующий запросы и ответы на обновление HTTP 1.1, подобно WebSocket. Это позволяет ему, как и WebSocket, быть проксируемым CDN или Nginx, но без необходимости реализации других частей протокола WebSocket, что делает его более эффективным. + +Его дизайн не рекомендуется для самостоятельного использования, а лучше всего работает в сочетании с TLS. + +## HttpUpgradeObject + +`HttpUpgradeObject` соответствует пункту `httpupgradeSettings` в настройках передачи. + +```json +{ + "acceptProxyProtocol": false, + "path": "/", + "host": "xray.com", + "headers": { + "key": "value" + } +} +``` + +> `acceptProxyProtocol`: true | false + +Используется только для входящих соединений и указывает, принимать ли протокол PROXY. + +[PROXY protocol](https://www.haproxy.org/download/2.2/doc/proxy-protocol.txt) предназначен для передачи реального IP-адреса и порта запроса. **Если вы не знакомы с ним, проигнорируйте этот пункт.** + +Распространенные программы для reverse прокси (например, HAProxy, Nginx) и VLESS fallbacks xver могут быть настроены для его включения. + +При установке значения `true`, после установления TCP-соединения на самом нижнем уровне, запрашивающая сторона должна сначала отправить PROXY protocol v1 или v2, в противном случае соединение будет закрыто. + +> `path`: string + +HTTP-путь, используемый HTTPUpgrade, по умолчанию `"/"`. + +Если в пути клиента содержится параметр `ed` (например, ```/mypath?ed=2560```), будет активирована функция `Early Data` для уменьшения задержки, ее значение - порог длины первого пакета. Если длина первого пакета превышает это значение, `Early Data` не будет активирована. Рекомендуемое значение - 2560. + +> `host`: string + +Хост, отправляемый в HTTP-запросе HTTPUpgrade, по умолчанию пустой. Если значение на стороне сервера пустое, значение хоста, отправляемое клиентом, не проверяется. + +Когда на стороне сервера указано это значение или в `headers` указан хост, будет проверено соответствие хоста запроса клиента. + +Приоритет выбора хоста, отправляемого клиентом: `host` > `headers` > `address` + +> `headers`: map \{string: string\} + +Пользовательские HTTP-заголовки, пара ключ-значение, где каждый ключ представляет имя HTTP-заголовка, а соответствующее значение - строка. + +По умолчанию пустое. + + +