HTTP
Тип транспорта, основанный на HTTP/2 или HTTP/3.
Он полностью реализован в соответствии со стандартом HTTP и может быть проксирован через другие HTTP-серверы (например, Nginx).
Клиент должен включить TLS для корректной работы этого типа транспорта.
HTTP/2 и 3 имеют встроенное мультиплексирование, поэтому не рекомендуется включать mux.cool при их использовании.
Подсказка
В текущей версии для транспорта HTTP/2 не требуется обязательная настройка TLS на стороне сервера.
Это позволяет использовать Xray в качестве бэкенд-приложения в специальных сценариях развертывания с разделением трафика, где внешний шлюз обрабатывает TLS-соединение, а связь между шлюзом и Xray осуществляется по протоколу HTTP без шифрования.
Подсказка
Этот транспорт будет работать в режиме h3, только если alpn содержит только h3
.
Внимание
- HTTP/2 и HTTP/3 не могут быть разделены по путям отката Xray. Использование разделения по путям отката не рекомендуется.
HttpObject
HttpObject
соответствует элементу httpSettings
в конфигурации транспорта.
{
"host": ["xray.com"],
"path": "/random/path",
"read_idle_timeout": 10,
"health_check_timeout": 15,
"method": "PUT",
"headers": {
"Header": ["value"]
}
}
host
: [string]
Массив строк, каждый элемент которого является доменным именем.
Клиент случайным образом выбирает доменное имя из списка для связи, а сервер проверяет, находится ли доменное имя в списке.
Подсказка
Если не указывать "httpSettings"
или оставить "host": []
пустым, будет использоваться значение по умолчанию "www.example.com"
. Для успешного подключения необходимо, чтобы значения "host"
на обеих сторонах совпадали. "host": [""]
не является пустым значением.
path
: string
Путь HTTP, начинающийся с /
. Должен совпадать на клиенте и сервере.
Значение по умолчанию: "/"
.
read_idle_timeout
: number
Время ожидания чтения в секундах. Если в течение этого времени не получено никаких данных, будет выполнена проверка работоспособности.
По умолчанию проверка работоспособности отключена.
Подсказка
Настраивается только на стороне клиента.
Подсказка
Может помочь решить некоторые проблемы с "обрывом соединения".
health_check_timeout
: number
Время ожидания проверки работоспособности в секундах. Если проверка работоспособности не будет завершена в течение этого времени, она считается неудачной. Значение по умолчанию: 15
.
Подсказка
Настраивается только на стороне клиента.
method
: string
HTTP-метод. Значение по умолчанию: "PUT"
.
При настройке следует руководствоваться значениями, перечисленными здесь.
headers
: map{ string: [string] }
Только для клиента. Пользовательские HTTP-заголовки. Представляет собой пару ключ-значение, где каждый ключ является именем HTTP-заголовка, а значением является массив.