最后更新于:2026年06月

Reality 协议是 2023 年以来科学上网领域最重要的技术突破。它彻底解决了传统代理协议依赖域名和证书的缺陷,让流量真正做到"看不见、摸不着"。在 2026 年的网络环境下,Reality 已经成为对抗深度包检测(DPI)的首选方案。
本文将深入剖析 Reality 的工作原理,服务端和客户端的完整配置,以及在 sing-box 和 Xray 中的具体实现。
🔬 Reality 协议原理
传统 TLS 代理的问题
在了解 Reality 之前,我们需要理解传统 TLS 代理(如 VLESS + WebSocket + TLS)为什么越来越容易被识别。
传统 TLS 代理流量特征:
客户端 ─── TLS 握手 ───► 你的 VPS (v2ray/Xray)
│
证书是你的域名
❌ SNI = 你的域名
❌ 证书 = 你的域名
│
◄─── TLS 响应 ────
问题:防火墙知道你在连接谁的服务器关键弱点:SNI(Server Name Indication)
在 TLS 握手的第一个包(ClientHello)中,客户端会明文声明要访问的域名。这个域名就是 SNI。
ClientHello 包的明文内容:
- SNI: your-vps-domain.com ← 防火墙看到这里就知道你在翻墙
- 证书: 你的域名发行的证书Reality 的核心思想
Reality 的解决方案简单而巧妙:借用他人网站的证书和 SNI,让你的流量看起来像是在访问 Apple、Microsoft 等知名网站。
Reality 流量特征:
客户端 ─── TLS 握手 ───► 你的 VPS (Reality)
│
证书 = apple.com 的真实证书
SNI = www.apple.com ← 防火墙看到的是苹果官网
public_key = 你的 VPS 持有私钥
│
◄─── TLS 响应(苹果网站内容)───
结果:防火墙以为你在访问 Apple 官网核心机制:
- 你选择一个目标网站(如
www.apple.com)作为流量伪装 - 你配置 VPS 生成一对密钥(public_key / private_key)
- 客户端使用 public_key 发起连接
- VPS 通过 private_key 验证身份,然后解密并处理流量
- 对外显示的 TLS 特征完全等同于目标网站
Reality vs 其他方案对比
| 特性 | Reality | VLESS+WebSocket+TLS | Trojan+TLS | Shadowsocks |
|---|---|---|---|---|
| SNI 隐藏 | ✅ 完全隐藏 | ❌ 暴露域名 | ❌ 暴露域名 | ❌ 暴露域名 |
| 证书自签 | ❌ 无需证书 | ✅ 需要 | ✅ 需要 | ❌ 不需要 |
| 抗 DPI | ⭐⭐⭐⭐⭐ 极强 | ⭐⭐⭐ 中等 | ⭐⭐⭐ 中等 | ⭐⭐⭐ 弱 |
| 配置复杂度 | 中等 | 高 | 高 | 低 |
| 性能 | ⭐⭐⭐⭐⭐ XTLS | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 生态成熟度 | ⭐⭐⭐⭐ 成熟 | ⭐⭐⭐⭐⭐ 成熟 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
⚙️ 服务端配置(Xray-core)
方式一:X-UI 面板配置(推荐新手)
X-UI 是最流行的 Xray 管理面板,支持一键启用 Reality。
1. 安装 X-UI
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)2. 面板配置
- 访问
http://你的VPS:2053进入面板 - 点击 入站列表 → 添加入站
- 选择协议:VLESS
- 传输配置:
- 网络:
tcp - 传输伪装:
xtls-rprx-vision - 启用 Reality:✅
- 网络:
- 目标服务器:
www.apple.com - 点击 保存
X-UI 会自动生成公钥(public_key)和短 ID(short_id),供客户端使用。
方式二:手动配置(Xray JSON)
1. 生成密钥对
# 在 VPS 上安装 xray
bash -c 'bash <(curl -L https://github.com/XTLS/Xray-core/releases/latest/download/install.sh)'
# 生成密钥对
xray x25519
# 输出示例:
# Private key: YRPrxqOjwJBDsJjqWMHMAVUUWTTqHN-sLNTCQgW80nA
# Public key: CWvygn0MVDXyJJM5q7pTHMJ7p_PCMIIx_sLNTCQgW80nA2. 配置 Xray JSON
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "你的UUID",
"flow": "xtls-rprx-vision"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "www.apple.com:443",
"xver": 0,
"serverNames": [
"www.apple.com",
"www.microsoft.com",
"www.google.com"
],
"privateKey": "你的私钥",
"shortIds": [""]
}
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
}
]
}参数详解:
| 参数 | 说明 | 示例 |
|---|---|---|
dest | 目标网站(用于伪装) | www.apple.com:443 |
serverNames | 允许客户端使用的 SNI 列表 | ["www.apple.com"] |
privateKey | 生成的私钥 | YRPrxqOjwJBDs... |
shortIds | 短 ID,用于多用户区分 | [""] 或 ["abc123"] |
方式三:sing-box 服务端配置
如果使用 sing-box 作为服务端:
{
"inbounds": [
{
"type": "vless",
"listen": "0.0.0.0",
"listen_port": 443,
"tls": {
"enabled": true,
"server_name": "www.apple.com",
"reality": {
"enabled": true,
"public_key": "客户端持有的公钥",
"short_id": ""
}
}
}
]
}📱 客户端配置
v2rayN 配置
- 下载安装:从 GitHub 下载最新版
- 添加服务器:
- 协议:VLESS
- 地址:你的 VPS IP
- 端口:443
- 用户 ID(UUID):与服务端一致
- 流控(Flow):
xtls-rprx-vision - 传输:tcp
- 安全:reality
- SNI:
www.apple.com - 指纹:
chrome或randomized - 公共密钥:服务端生成的公钥
- 短 ID:留空或与服务端一致
Clash Meta 配置
proxies:
- name: "Reality-Apple"
type: vless
server: your-vps-ip
port: 443
uuid: your-uuid
network: tcp
tls: true
servername: www.apple.com
reality-opts:
public-key: your-public-key
short-id: ""
client-fingerprint: chrome
udp: truesing-box 客户端配置
{
"outbounds": [
{
"type": "vless",
"tag": "reality-proxy",
"server": "your-vps-ip",
"server_port": 443,
"uuid": "your-uuid",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"server_name": "www.apple.com",
"utls": {
"enabled": true,
"fingerprint": "chrome"
},
"reality": {
"enabled": true,
"public_key": "your-public-key",
"short_id": ""
}
}
}
]
}🎯 目标网站选择指南
优质目标网站特征
选择伪装目标时,应该考虑:
| 特征 | 要求 | 原因 |
|---|---|---|
| 证书有效 | 证书未过期 | TLS 握手必须成功 |
| 域名稳定 | 长期不换域名 | 减少维护成本 |
| 流量大 | 访问量大 | 不易被单独标记 |
| 支持 TLS 1.3 | 启用 TLS 1.3 | 更好的性能和安全性 |
| IP 稳定 | 服务器 IP 固定 | 避免 IP 变化导致握手失败 |
推荐目标网站
首选(推荐程度由高到低):
| 目标网站 | SNI | 推荐原因 |
|---|---|---|
www.apple.com | www.apple.com | 证书稳定,流量极大,IP 固定 |
www.microsoft.com | www.microsoft.com | 同上 |
www.google.com | www.google.com | 流量大,但证书管理较复杂 |
www.amazon.com | www.amazon.com | 流量大,IP 稳定 |
www.cloudflare.com | www.cloudflare.com | CDN 类网站,IP 多但稳定 |
备选目标:
| 目标网站 | 说明 |
|---|---|
www.bing.com | 微软系,和 Apple 类似 |
www.linkedin.com | 微软收购,企业级证书 |
www.office.com | 同上 |
避免使用的目标
github.com:证书经常变化telegram.org:在某些地区可能被封锁- 小型网站:流量小,容易被识别
多目标配置
Reality 支持配置多个目标网站,增加混淆程度:
"realitySettings": {
"serverNames": [
"www.apple.com",
"www.microsoft.com",
"www.google.com"
],
"dest": "www.apple.com:443"
}客户端可以从 serverNames 列表中选择一个作为 SNI,但 dest 必须与实际伪装目标一致。
🔍 常见问题排查
问题 1:TLS 握手失败
表现:客户端连接后立即断开,日志显示 TLS 握手失败排查步骤:
# 1. 检查 VPS 端口是否开放
telnet your-vps-ip 443
# 2. 检查目标网站是否可达(从 VPS 上)
curl -I https://www.apple.com
# 3. 检查 xray 是否正常运行
systemctl status xray
journalctl -u xray -f
# 4. 检查密钥是否匹配
# 公钥和私钥必须是一对生成的问题 2:SNI 不匹配
表现:日志显示 "invalid SNI" 或 "server name mismatch"原因:客户端 SNI 与服务端 serverNames 列表不匹配
解决:
- 确保客户端 SNI 为
serverNames中的某一个 - 推荐直接使用
www.apple.com
问题 3:VLESS Flow 不支持
表现:客户端报错 "flow not supported" 或 "xtls-rprx-vision not supported"原因:
- 客户端版本过低
- 客户端不支持
xtls-rprx-vision
解决:
- 更新客户端到最新版本
- 如果客户端不支持 Reality 的 flow,可以尝试
vless(无 flow),但安全性降低
问题 4:连接成功但无法上网
表现:握手成功,但浏览器无法访问排查步骤:
# 1. 检查 VPS 防火墙
sudo ufw status
sudo iptables -L -n
# 2. 检查 DNS 是否污染
dig www.google.com
# 3. 检查路由规则
# 确保 outbound 是 freedom(直连)或正确的代理问题 5:X-UI 面板 Reality 选项灰色不可点击
原因:X-UI 版本过低
解决:
# 更新 X-UI 到最新版本
x-ui update
# 或重新安装
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)⚡ 进阶优化
1. 多用户配置
Reality 支持通过 short_id 区分不同用户:
"realitySettings": {
"privateKey": "你的私钥",
"shortIds": ["user1", "user2", ""],
"serverNames": ["www.apple.com"],
"dest": "www.apple.com:443"
}short_id为空表示允许任何短 ID- 不同的
short_id可以用于区分不同用户或不同用途
2. 动态端口
使用回落(fallback)将不同端口的流量分发到不同服务:
{
"inbounds": [
{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [{"id": "uuid", "flow": "xtls-rprx-vision"}]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"dest": "www.apple.com:443",
"serverNames": ["www.apple.com"],
"privateKey": "私钥",
"shortIds": [""]
}
}
},
{
"listen": "0.0.0.0",
"port": 80,
"protocol": "vless",
"settings": {"clients": [{"id": "uuid"}]},
"streamSettings": {
"network": "tcp",
"tcpSettings": {
"fallbacks": [
{"dest": "127.0.0.1:8080"}
]
}
}
}
]
}3. 伪装网站与 CDN 联动
将目标网站配置为 Cloudflare 加速的域名,可以进一步提升速度和稳定性:
"realitySettings": {
"dest": "www.apple.com:443",
"serverNames": [
"www.apple.com",
"apple.com",
"www.icloud.com"
]
}📚 完整配置模板
Xray 服务端完整配置
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "your-uuid-here",
"flow": "xtls-rprx-vision",
"email": "mainuser@example.com"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "www.apple.com:443",
"xver": 0,
"serverNames": [
"www.apple.com",
"www.microsoft.com"
],
"privateKey": "your-private-key-here",
"shortIds": [
"",
"user1",
"user2"
]
}
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"],
"routeOnly": false
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
]
}v2rayN 客户端配置参数
协议:VLESS
地址:your-vps-ip
端口:443
UUID:your-uuid-here
流控(Flow):xtls-rprx-vision
传输:tcp
安全:reality
SNI:www.apple.com
指纹:chrome
Public Key:your-public-key-here
Short ID:(留空)🎓 下一步学习
- 📖 sing-box Reality 配置:在 sing-box 中使用 Reality 出站
- 📖 多协议共存:同时启用 VLESS、Trojan、Shadowsocks 共存
- 📖 X-UI 面板进阶:流量统计、用户管理、自动备份
- 📖 抗 DPI 进阶:HTTP/2、WebSocket、gRPC 等混淆手段
结语
Reality 协议是科学上网领域的一项里程碑式技术。它用最简单的思路解决了最复杂的问题:与其费尽心思伪装流量,不如直接借用真实网站的流量特征。
总结要点:
- ✅ SNI 完全隐藏,流量看起来像访问 Apple/Microsoft
- ✅ 无需域名、无需证书,降低了被追溯的风险
- ✅ XTLS 性能优秀,速度和直连几乎无差别
- ✅ 配置相对简单,X-UI 一键启用
- ✅ 抗 DPI 能力强,是 2026 年最值得部署的协议
掌握 Reality,你就拥有了穿透最严格网络限制的能力。配合优质的目标网站伪装,你的流量将如同水消失在水中。
愿你在网络世界中自由穿行!🚀
