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-заголовка, а значением является массив.