1
0
mirror of https://github.com/XTLS/Xray-docs-next.git synced 2025-08-22 19:38:36 +00:00

RU rename h2

This commit is contained in:
iambabyninja 2024-10-03 18:27:46 +05:00
parent 5d7327380d
commit a3b2a4a9bd
No known key found for this signature in database
GPG Key ID: 3E7C2E4D7EDB56C9
4 changed files with 95 additions and 90 deletions

View File

@ -64,9 +64,9 @@ export const sidebarRu: SidebarConfig = {
text: 'Транспортный уровень',
children: [
'/ru/config/transports/grpc.md',
'/ru/config/transports/h2.md',
'/ru/config/transports/http.md',
'/ru/config/transports/mkcp.md',
'/ru/config/transports/tcp.md',
'/ru/config/transports/raw.md',
'/ru/config/transports/websocket.md',
'/ru/config/transports/httpupgrade.md',
'/ru/config/transports/splithttp.md'

View File

@ -46,6 +46,9 @@
> `network`: "raw" | "ws" | "h2" | "grpc" | "kcp" | "httpupgrade" | "splithttp"
Тип способа передачи, используемого потоком данных соединения, по умолчанию `"raw"`
::: tip
**Начиная с версии v24.9.30**, для более точного отражения фактического поведения, тип передачи `tcp` был переименован в `raw`. Для обеспечения совместимости `"network": "raw"` и `"network": "tcp"`, `rawSettings` и `tcpSettings` являются синонимами.
:::
::: tip
"h2" можно записать как "http", "grpc" можно записать как "gun", "kcp" можно записать как "mkcp".
@ -83,9 +86,9 @@ Reality — это самое безопасное на данный момен
Конфигурация WebSocket для текущего соединения, действительна только если это соединение использует WebSocket.
> `httpSettings`: [HttpObject](./transports/h2.md)
> `httpSettings`: [HttpObject](./transports/http.md)
Конфигурация HTTP/2 для текущего соединения, действительна только если это соединение использует HTTP/2.
Конфигурация HTTP для текущего соединения, действительна только если это соединение использует HTTP.
> `grpcSettings`: [GRPCObject](./transports/grpc.md)

View File

@ -1,86 +0,0 @@
# HTTP/2
Способ передачи данных на основе HTTP/2.
Он полностью реализован в соответствии со стандартом HTTP/2 и может быть перенаправлен через другие HTTP-серверы (например, Nginx).
В соответствии с рекомендациями HTTP/2, клиент и сервер должны одновременно включать TLS для нормальной работы этого способа передачи.
HTTP/2 имеет встроенное мультиплексирование, не рекомендуется включать mux.cool при использовании HTTP/2.
::: tip
Текущая версия способа передачи HTTP/2 **не требует**, чтобы **входящее соединение** (**сервер**) имело конфигурацию TLS.
Это позволяет в среде развертывания с разделением трафика для специальных целей использовать внешний шлюз для обработки TLS-соединения, в то время как Xray будет использоваться в качестве серверного приложения, а связь между шлюзом и Xray будет осуществляться по незашифрованному протоколу http/2, который называется `h2c`.
:::
::: warning
⚠️ Если вы используете fallback, обратите внимание на следующие моменты:
- Убедитесь, что (x)tlsSettings.alpn содержит h2, иначе HTTP/2 не сможет завершить TLS-рукопожатие.
- HTTP/2 не может быть разделен по пути, рекомендуется использовать SNI-разделение.
:::
## HttpObject
`HttpObject` соответствует элементу `httpSettings` конфигурации передачи.
```json
{
"host": ["xray.com"],
"path": "/random/path",
"read_idle_timeout": 10,
"health_check_timeout": 15,
"method": "PUT",
"headers": {
"Header": ["value"]
}
}
```
> `host`: \[string\]
Массив строк, каждый элемент которого является доменным именем.
Клиент будет случайным образом выбирать доменное имя из списка для связи, а сервер будет проверять, находится ли доменное имя в списке.
::: tip
Если не указать `"httpSettings"` или оставить значение `"host": []` пустым, то будет использоваться значение по умолчанию `"www.example.com"`. Для успешного подключения значение `"host"` должно быть одинаковым на обеих сторонах. `"host": [""]` не является пустым значением.
:::
> `path`: string
HTTP-путь, начинающийся с `/`, должен быть одинаковым у клиента и сервера.
Значение по умолчанию: `"/"`.
> `read_idle_timeout`: number
Время в секундах, по истечении которого, если данные не были получены, будет выполнена проверка работоспособности.
По умолчанию проверка работоспособности **не включена**.
::: tip
Настройка требуется **только** на стороне **исходящего соединения** (**клиента**).
:::
::: tip
Может решить некоторые проблемы с "обрывом" соединения.
:::
> `health_check_timeout`: number
Время ожидания ответа проверки работоспособности в секундах. Если в течение этого времени проверка работоспособности не будет завершена, она будет считаться неудачной. Значение по умолчанию: `15`.
::: tip
Настройка требуется **только** на стороне **исходящего соединения** (**клиента**).
:::
> `method`: string
HTTP-метод. Значение по умолчанию: `"PUT"`.
При настройке следует использовать значения, перечисленные [здесь](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods).
> `headers`: map{ string: \[string\] }
Пользовательские HTTP-заголовки, пара ключ-значение, где каждый ключ представляет собой имя HTTP-заголовка, а значение представляет собой массив.

View File

@ -0,0 +1,88 @@
# HTTP
Тип транспорта, основанный на HTTP/2 или HTTP/3.
Он полностью реализован в соответствии со стандартом HTTP и может быть проксирован через другие HTTP-серверы (например, Nginx).
Клиент должен включить TLS для корректной работы этого типа транспорта.
HTTP/2 и 3 имеют встроенное мультиплексирование, поэтому не рекомендуется включать mux.cool при их использовании.
::: tip
**В текущей версии для транспорта HTTP/2 не требуется обязательная настройка TLS на стороне сервера.**
Это позволяет использовать Xray в качестве бэкенд-приложения в специальных сценариях развертывания с разделением трафика, где внешний шлюз обрабатывает TLS-соединение, а связь между шлюзом и Xray осуществляется по протоколу HTTP без шифрования.
:::
::: tip
Этот транспорт будет работать в режиме h3, только если alpn содержит только `h3`.
:::
::: warning
- HTTP/2 и HTTP/3 не могут быть разделены по путям отката Xray. Использование разделения по путям отката не рекомендуется.
:::
## HttpObject
`HttpObject` соответствует элементу `httpSettings` в конфигурации транспорта.
```json
{
"host": ["xray.com"],
"path": "/random/path",
"read_idle_timeout": 10,
"health_check_timeout": 15,
"method": "PUT",
"headers": {
"Header": ["value"]
}
}
```
> `host`: \[string\]
Массив строк, каждый элемент которого является доменным именем.
Клиент случайным образом выбирает доменное имя из списка для связи, а сервер проверяет, находится ли доменное имя в списке.
::: tip
Если не указывать `"httpSettings"` или оставить `"host": []` пустым, будет использоваться значение по умолчанию `"www.example.com"`. Для успешного подключения необходимо, чтобы значения `"host"` на обеих сторонах совпадали. `"host": [""]` не является пустым значением.
:::
> `path`: string
Путь HTTP, начинающийся с `/`. Должен совпадать на клиенте и сервере.
Значение по умолчанию: `"/"`.
> `read_idle_timeout`: number
Время ожидания чтения в секундах. Если в течение этого времени не получено никаких данных, будет выполнена проверка работоспособности.
По умолчанию проверка работоспособности **отключена**.
::: tip
Настраивается **только** на стороне **клиента**.
:::
::: tip
Может помочь решить некоторые проблемы с "обрывом соединения".
:::
> `health_check_timeout`: number
Время ожидания проверки работоспособности в секундах. Если проверка работоспособности не будет завершена в течение этого времени, она считается неудачной. Значение по умолчанию: `15`.
::: tip
Настраивается **только** на стороне **клиента**.
:::
> `method`: string
HTTP-метод. Значение по умолчанию: `"PUT"`.
При настройке следует руководствоваться значениями, перечисленными [здесь](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods).
> `headers`: map{ string: \[string\] }
**Только для клиента.** Пользовательские HTTP-заголовки. Представляет собой пару ключ-значение, где каждый ключ является именем HTTP-заголовка, а значением является массив.