1164 words
6 minutes
ws/grpc/xhttp穿透CDN篇
2026-03-02

前言#

我们知道,http流量可以被CDN回源,既然直连太慢就来试试用CDN提速

穿CDN方案:本地主机-> CDN边缘节点 -> 代理服务器

本期包含ws传输,xhttp传输,Cloudflare优选教程

适用环境#

适合服务器路由绕路,延迟高等情况

(一般落地服务器都注重国际优化,默认搭配中转服务器使用)

缺点#

即使UDP Over TCP过CDN几乎是100%丢失的(延迟略高)

前置任务#

搭配条件#

  • 安全层:仅限TLS
  • 传输层:WebSocket | gRPC | xhttp

需要做的准备(以Cloudflare为例):

  1. 域名托管到CF
  2. 添加域名解析A记录,cloudflare proxy俗称小黄云可以不用开
  3. 为域名申请TLS/SSL,详情见前篇-TLS篇

入站端口必须是CDN支持的端口#

Cloudflare支持的端口号-https://developers.cloudflare.com/fundamentals/reference/network-ports/

Cloudflare https Port 一览

  • 443
  • 2053
  • 2083
  • 2087
  • 2096
  • 8443

启用TLS#

Dashboard->Domain->SSL/TLS->Overview->SSL/TLS encryption->调整模式为full(完全)

*Full(完全)表示 客户端-tls连接-CDN节点-tls连接(回源)->源服务器

*Flexible(灵活)表示 客户端-tls连接-CDN节点-非安全连接(回源)->源服务器

开启gRPC网络支持#

Dashboard->Domain->Network->gRPC

Vless Encryption-Vision-TLS-WS#

  • 内层安全vless encryption
  • 外部安全层TLS
  • 传输层ws
  • vision仅穿透Enc,若不用enc则关闭Vision

xray服务端配置块,命令行生成的参数可以拿个编辑器记录一下

为了保持篇幅简明,仅展示入站inbounds部分,补充其它部分转到【前篇】Xray安装-配置文件

{
"inbounds": [
{
"port": 2087, //CDN支持的端口
"protocol": "vless",
"settings": {
"clients": [
{
"id": "",//运行xray uuid生成
"flow": "xtls-rprx-vision" //若不启用enc则留空
}
],
// 运行xray vlessenc生成,取Authentication: ML-KEM-768, Post-Quantum
"decryption": "dec" //取decryption填写,不启用则填none
},
"streamSettings": {
"network": "ws", //传输层配置,网络ws
"wsSettings": {
"path": "/path", //ws配置path自定义可以截uuid的末尾半截,要有"/"
"host": "" //host保持留空
},
"security": "tls",
"tlsSettings": {
"serverName": "<yourdomain>", //sni域名,CDN通过它回源服务器
"alpn": ["h2","http/1.1"],
"minVersion": "1.2",
"certificates": [
{
"certificateFile": "./cert.crt", //证书路径
"keyFile": "./cert.key" //私钥路径
}
]
}
},
"sniffing": {
"enabled": true,
"destOverride": ["http","tls","quic"],
"routeOnly": false
}
}
]
}

调试节点就在V2RayN里按配置填参数

Mihomo: Vless enc-Vision-TLS-WS#

Mihomo客户端节点配置

proxies:
- name: "Enc-TLS-WS-CDN"
type: vless
server: "ip"
port: 443
udp: true
uuid: "uuid"
flow: "xtls-rprx-vision" #若开启enc则填写,不开就留空
tls: true
servername: "" #sni域名,CDN通过它回源服务器
client-fingerprint: chrome
skip-cert-verify: false # 跳过证书校验建议值false
encryption: "" # xray vlessenc生成取encryption填写
network: "ws" #传输层
ws-opts:
path: "/path" #同服务端path
headers:
Host: "domain" #必填,填写值同sni

参考 https://xtls.github.io/config/transports/websocket.html

gRPC#

没有任何理由使用gRPC,更新换代xhttp

Vless enc-Vision-TLS-XHTTP#

xhttp有多种灵活配置,这里是推荐配置

与ws比较,仅修改传输层配置

服务端配置如下streamSettings

"streamSettings": {
"network": "xhttp",
"xhttpSettings": {
"host": "",
"path": "/path", //path自定义
},
"security": "tls",
"tlsSettings": {
"serverName": "<domain>", //服务器名称指示器,CDN通过它回源服务器
"minVersion": "1.2",
"certificates": [
{
"certificateFile": "./cert.crt", //证书路径
"keyFile": "./cert.key" //私钥路径
}
]
}
},

在客户端,host同sni,mode选stream-one即可丝滑穿透CDN

# V2RayN中的填写项
Address -服务器地址,过CDN时就填CDN的IP
Port -端口号
UUID -客户端uuid
Flow -如启用了Vless encryption则填,否则双端留空
Encryption -内层加密,不启用时填“none”
Mux -mux.cool多路复用,不兼容xhttp,必填"关闭"
Transport -传输协议,xhttp
xhttp mode -xhttp模式,推荐值`Stream-one`双向流模式
Host -同SNI
Path -path同服务端
TLS-sni -证书域名
Alpn -h2+http1.1

mihomo-xhttp#

- name: "VLESS-XHTTP"
type: vless
server: "server"
port: 443
udp: true
uuid: "uuid"
flow: "" #留空
tls: true
alpn: ["h2"]
servername: "domain" #Sni
encryption: "none" #不启用则填none
network: "xhttp"
xhttp-opts:
path: "/" #path
host: "domain" #与sni相同
mode: "stream-one"

优选IP教程#

你可以搜到任何优选域名

解析优选域名的结果,以两个为例

  • ct.877774.xyz
  • telecom.cnae.cnae.cnae.cnae.cnae.cname.cf.468123.xyz

ping出延迟低,数值好的就可以作为入口了

批量测速#

https://github.com/XIU2/CloudflareSpeedTest

以XIU2/CloudflareSpeedTest项目示范

把优选域名的结果放在ip.txt文件,加/24拉整个段

# 示例写法
104.18.41.190/24

终端运行命令

Terminal window
cfst -dd -tp 443 -tl 200 -f ip.txt --allip

参数解释:

  • -dd禁用下载测速,只测延迟节约时间
  • -tp 443目标TCP端口443
  • -tl 200 延迟上限
  • -f ip.txt 指定IP数据集合
  • --allip 对/24范围全部测试

选个好点的IP填到节点server就行了

以下是我测出的部分可用结果

----电信----
162.159.39.13
104.18.40.152
104.18.41.190
162.159.44.27
104.18.41.190
172.64.229.173
172.64.229.195
----移动----
172.64.146.66
172.64.153.209
104.25.243.2
172.64.153.47
104.25.254.199

还有一些地方可以获得优选IP

https://www.byoip.top/

https://api.uouin.com/cloudflare.html

心怀感激#

感谢@宋哈娜、感谢Project X社区

喵~