Xray-docs-next/docs/config/transports/websocket.md

1.6 KiB
Raw Blame History

WebSocket

使用标准的 WebSocket 来传输数据。

WebSocket 连接可以被其它 HTTP 服务器(如 Nginx分流也可以被 VLESS fallbacks path 分流。

::: tip Websocket 会识别 HTTP 请求的 X-Forwarded-For 头来覆写流量的源地址,优先级高于 PROXY protocol。 :::

WebSocketObject

WebSocketObject 对应传输配置的 wsSettings 项。

{
    "acceptProxyProtocol": false,
    "path": "/",
    "headers": {
        "Host": "xray.com"
    }
}

acceptProxyProtocol: true | false

仅用于 inbound指示是否接收 PROXY protocol。

PROXY protocol 专用于传递请求的真实来源 IP 和端口,若你不了解它,请先忽略该项

常见的反代软件(如 HAProxy、Nginx都可以配置发送它VLESS fallbacks xver 也可以发送它。

填写 true 时,最底层 TCP 连接建立后,请求方必须先发送 PROXY protocol v1 或 v2否则连接会被关闭。

path string

WebSocket 所使用的 HTTP 协议路径,默认值为 "/"

如果路径中包含 ed 参数,将会启用 Early Data 以降低延迟,其值为首包长度阈值。如果首包长度超过此值,就不会启用 Early Data。建议的值为 2048。

::: warning Early Data 使用 Sec-WebSocket-Protocol 头承载数据。如果你遇到兼容性问题,可以尝试调低阈值。 :::

headers: map {string: string}

自定义 HTTP 头,一个键值对,每个键表示一个 HTTP 头的名称,对应的值是字符串。

默认值为空。