Node

VMess + WebSocket + TLS 节点搭建(套 Cloudflare CDN 隐藏 IP)

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。