3x-ui配置VMess节点:WS+TLS怎么设置

面板部分假设已经按3x-ui安装教程装好。3x-ui 支持的协议里,VMess 是资历最老的一个,现在新装节点更多人会优先选 VLESS 或者 VLESS Reality,但 VMess 胜在客户端兼容性好,一些老设备、老客户端只认 VMess,这种情况下还是得配 VMess。这篇讲的是最常见的用法——VMess 套 WebSocket+TLS,方便后续接 CDN。

进入 3x-ui 面板,点入站列表,点添加入站,协议选 VMess,传输方式选 ws,安全选项选 tls。用 TLS 就需要一个已经解析到这台服务器的域名,纯 IP 没法申请证书。

路径(Path)这一栏自定义一段不好猜的字符串,比如 /a1b2c3-ws,不要用 / 这种默认值,容易被扫描到。证书可以用面板自带的 acme 功能自动申请 Let’s Encrypt 证书,前提是域名已经解析好,80/443 端口没被占用:

1
2
ufw allow 80
ufw allow 443

加密方式(Security)选 auto,客户端和服务端会自动协商用哪种加密算法,不需要手动指定。

alterId 这一栏填 0。alterId 是 VMess 早期为了防重放攻击设计的一个机制,后来 VMess AEAD 协议出来之后这个机制已经过时了,现在的 Xray-core 版本看到非 0 的 alterId 反而会当成旧版协议处理,新装节点统一填 0 就行,网上一些老教程写的填 64、填 100 都是过时的做法,不要照抄。

端口用系统随机生成或者自己填一个都可以,因为走的是标准 HTTPS 端口(443),实际对外暴露的是 443,面板里填的这个端口是服务器内部监听用的,不需要额外放行。

保存之后在入站列表找到这条记录,点二维码图标可以看到分享链接,格式是 vmess:// 开头,复制到客户端导入。主流客户端(NekoBox、Clash Meta、v2rayN 等)都支持 VMess+WS+TLS 这个组合,导入之后基本不需要额外配置。

连不上的时候按这个顺序排查:

  1. 域名解析是否正确指向这台服务器,用 ping 你的域名 确认解析生效;
  2. 证书是否申请成功,面板证书管理里能看到证书状态和到期时间;
  3. WebSocket 路径客户端和服务端是否完全一致,包括开头的 /,多一个少一个都连不上;
  4. alterId 客户端和服务端是否一致,新客户端填 0 一般没问题,如果客户端是很老的版本可能默认值不是 0,需要手动改成一致。

VMess 套 WebSocket+TLS 之后,走的是标准 HTTPS 流量,Cloudflare 这类 CDN 能正常识别转发,能在一定程度上隐藏服务器真实 IP,具体套 CDN 的思路和这篇Vmess+WebSocket搭建中转服务器类似,只是入站协议换成了 3x-ui 面板里配置。如果客户端不需要考虑兼容老设备,直接用 VLESS Reality 会更省心,不需要自己折腾域名和证书。多用户管理可以参考3x-ui多用户管理,给不同设备分开建用户方便管理。