Warning

This translation was modified on 16 July 2024 and an updated version (29 July 2024) is available on the source page. View the original page

WebSocket

Использует стандартный WebSocket для передачи данных.

Подключение WebSocket может быть проксировано другими HTTP-серверами (например, Nginx) и VLESS fallbacks path.

Подсказка

WebSocket распознает заголовок X-Forwarded-For в HTTP-запросе для перезаписи исходного адреса трафика, приоритет выше, чем у PROXY protocol.

WebSocketObject

WebSocketObject соответствует элементу wsSettings в конфигурации транспорта.

{
  "acceptProxyProtocol": false,
  "path": "/",
  "host": "xray.com",
  "headers": {
    "key": "value"
  }
}

acceptProxyProtocol: true | false

Только для входящих подключений, указывает, следует ли принимать PROXY protocol.

PROXY protocolОткрыть в новой вкладке используется для передачи реального исходного IP-адреса и порта запроса, если вы не знаете, что это такое, проигнорируйте этот параметр.

Распространенные программы-обработчики обратного прокси (например, HAProxy, Nginx) можно настроить на его отправку, VLESS fallbacks xver также может его отправлять.

Если установлено значение true, то после установления TCP-соединения на самом нижнем уровне запрашивающая сторона должна сначала отправить PROXY protocol v1 или v2, иначе соединение будет закрыто.

path: string

Путь, используемый WebSocket в HTTP-протоколе, значение по умолчанию — "/".

Если в пути клиента есть параметр ed (например, /mypath?ed=2560), будет активирован Early Data для уменьшения задержки.

host: string

Хост, отправляемый в HTTP-запросе WebSocket, значение по умолчанию — пустое. Если значение на стороне сервера пустое, значение хоста, отправленное клиентом, не проверяется.

Если это значение указано на стороне сервера или host указан в headers, то проверяется соответствие хоста запроса клиента.

Приоритет выбора хоста для отправки клиентом: host > headers > address.

headers: map {string: string}

Пользовательские HTTP-заголовки, пары ключ-значение, где каждый ключ представляет имя HTTP-заголовка, а соответствующее значение является строкой.

Значение по умолчанию: пустое.

Browser Dialer

Использует браузер для обработки TLS, подробнее см. в Browser Dialer.