VMess + WebSocket + TLS 的最大好处是能套 Cloudflare CDN:访客连的是 Cloudflare 的 IP,你的服务器真实 IP 被隐藏,被墙了换个 CDN 节点就行。代价是要有一个域名。本文用 Xray 搭建。
一、前置条件
- 一个域名,已把解析(A 记录)指到服务器,并在 Cloudflare 接管 DNS(小云朵开启橙色代理)。
- 服务器已装好 Nginx(用于 TLS 与分流)。
二、安装 Xray 并生成 UUID
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
xray uuid
三、服务端配置(监听本地,由 Nginx 转发)
/usr/local/etc/xray/config.json:
{
"inbounds": [
{
"listen": "127.0.0.1",
"port": 10000,
"protocol": "vmess",
"settings": { "clients": [ { "id": "你的UUID" } ] },
"streamSettings": {
"network": "ws",
"wsSettings": { "path": "/ray" }
}
}
],
"outbounds": [ { "protocol": "freedom" } ]
}
四、Nginx 反代 + 申请证书
# 用 acme.sh 申请证书(或宝塔面板一键 SSL)
curl https://get.acme.sh | sh
~/.acme.sh/acme.sh --issue -d your.domain.com --nginx
在站点的 Nginx 配置里,把 WebSocket 路径转发给 Xray:
location /ray {
proxy_redirect off;
proxy_pass http://127.0.0.1:10000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
五、重启并测试
systemctl restart xray
nginx -t && systemctl reload nginx
六、客户端配置
- 地址:
your.domain.com,端口:443 - UUID:第二步生成,额外 ID(alterId):0
- 传输:ws,路径:
/ray,TLS:开启,SNI:你的域名 - 开启 Cloudflare 橙云后,地址也可直接填 Cloudflare 优选 IP(伪装域名仍写你的域名)。
注意:Cloudflare 免费版仅代理 80/443 等标准端口;VMess 走 443 正合适。VMess 对服务器时间敏感,记得用 chrony 校时。
想要更快的弱网体验?看下一篇基于 QUIC 的 Hysteria2。