WebSocket
Использует стандартный WebSocket для передачи данных.
Подключение WebSocket может быть проксировано другими HTTP-серверами (например, Nginx) и VLESS fallbacks path.
Предупреждение
Рекомендуется переключиться на XHTTP, чтобы избежать значительных характеристик трафика, таких как WebSocket «ALPN is http/1.1».
Подсказка
WebSocket распознает заголовок X-Forwarded-For в HTTP-запросе для перезаписи исходного адреса трафика, приоритет выше, чем у PROXY protocol.
WebSocketObject
WebSocketObject
соответствует элементу wsSettings
в конфигурации транспорта.
{
"acceptProxyProtocol": false,
"path": "/",
"host": "xray.com",
"headers": {
"key": "value"
},
"heartbeatPeriod": 10
}
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-заголовка, а соответствующее значение является строкой.
Значение по умолчанию: пустое.
heartbeatPeriod
: int
Задает интервал времени для отправки Ping-сообщений с целью поддержания соединения. Если не указано или указано значение 0, Ping-сообщения не отправляются (по умолчанию используется текущее поведение).
Browser Dialer
Использует браузер для обработки TLS, подробнее см. в Browser Dialer.