本文踩坑重点:新版sing-box Reality 不兼容 www.microsoft.com 握手、VLESS+Reality 不能携带xtls-rprx-vision参数、REALITY: processed invalid connection报错解决
前言
S-UI 是一款轻量美观的 sing-box 可视化面板,部署简单、资源占用低,支持 Reality、TUIC、Hysteria2 等主流协议。很多人搭建后会遇到REALITY: processed invalid connection握手失败,本文完整覆盖安装、配置、添加用户、客户端配置+排坑全流程。
环境要求
- 系统:Ubuntu / Debian(推荐Ubuntu20.04、22.04)
- 服务器:独立公网IP,放行25373 TCP端口(自定义监听端口)
- 建议:提前开启BBR加速
一、一键安装 S-UI
- 登录服务器SSH,执行安装脚本
bash <(curl -Ls https://github.com/alireza0/s-ui/raw/main/install.sh)- 脚本加载完成后,输入
1选择Install开始安装 - 安装结束后,会输出面板地址、账号、密码,请妥善保存
- 访问面板:
http://服务器IP:端口,输入账号密码登录
S-UI管理命令
sudo s-ui菜单功能说明 11. S-UI Start 启动 12. S-UI Stop 停止 13. S-UI Restart 重启 14. S-UI Check State 查看运行状态 15. S-UI Check Logs 实时日志(排查连接报错核心)
二、TLS Reality模板配置(核心避坑)
进入面板 → TLS管理 → 添加TLS,切换到Reality标签
- 名称:reality-vless
- SNI:
www.apple.com(❗不要用www.microsoft.com,新版sing-box会直接握手报错REALITY: processed invalid connection) - 握手服务器:
www.apple.com - 服务器端口:443
- 私钥:自动生成(点击右侧钥匙图标自动生成公私钥)
- 公钥:自动生成
- Short IDs:
dbfdc8,e0,f61ed3,70a765bc71,55(可自定义多个,客户端任选其一填写) - Fingerprint:Chrome
- ACME、ECH:全部关闭 保存模板。
三、入站配置(VLESS+Reality)
入站管理 → 添加入站
- 名称:vless-25373
- 协议:VLESS
- 监听地址:0.0.0.0
- 端口:25373(自行修改,记得防火墙放行)
- TLS:选择刚才创建的
reality-vless模板 - 多路复用(smux):关闭(开启极易断连) 保存入站。
四、添加用户(新增)
进入面板 → 用户管理 → 添加用户
- 用户名:自定义(例如user01)
- 密码:自定义(面板登录密码,和节点无关)
- 协议:VLESS
- UUID:自定义生成(可在线UUID生成工具生成,客户端必须和这里保持一致)
- 入站:选中刚刚创建的
vless-25373 - 流量限制:按需填写(0代表不限制流量)
- 到期时间:按需填写(0代表永不过期) 保存用户。
- 多设备使用可以重复添加多个用户,分配不同UUID。
配置完成后,执行sudo s-ui选择13重启面板生效。
五、Mihomo 客户端配置yaml(Mac/Windows通用)
⚠️ sing-box内核S-UI不支持flow: xtls-rprx-vision,不要加这一行!
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
# tun: # mac环境建议先关闭Tun测试,连通后再开启
# enable: true
# stack: system
# auto-route: true
# auto-detect-interface: true
# dns-hijack:
# - any:53
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
default-nameserver:
- 8.8.8.8
- 1.1.1.1
nameserver:
- https://doh.pub/dns-query
- https://1.0.0.1/dns-query
fallback:
- tcp://9.9.9.9:53
fake-ip-filter:
- "*.lan"
- localhost
- "*.local"
rules:
- GEOIP,Private,DIRECT
- MATCH,Proxy
proxies:
- client-fingerprint: chrome
name: vless-25373
port: 25373
reality-opts:
public-key: Wie2KO7m8jcowX2NrQnK_297wDPyXqNHDTP7ggAMzHk
short-id: dbfdc8
server: 43.173.73.186
servername: www.apple.com
tls: true
type: vless
uuid: 1386c800-f2b1-4443-986f-241432215659
proxy-groups:
- name: Proxy
proxies:
- Auto
- vless-25373
type: select
- interval: 300
name: Auto
proxies:
- vless-25373
tolerance: 50
type: url-test
url: http://cp.cloudflare.com/generate_204修改里面的server、uuid、public-key、short-id和服务端用户、TLS信息一一对应,重载Mihomo配置,手动选中节点测试。
六、常见报错排查
报错1:REALITY: processed invalid connection
✅ 原因:握手域名使用www.microsoft.com,新版sing-box存在兼容bug ✅ 解决:替换握手SNI与握手服务器为www.apple.com
报错2:TCP端口能通,但是连接直接关闭 ERR_CONNECTION_CLOSED
✅ 原因:客户端yaml额外添加flow: xtls-rprx-vision ✅ 解决:直接删除flow字段,sing-box VLESS Reality不支持XTLS流
报错3:日志无报错,但是测速超时
✅ 原因:自动测速域名www.gstatic.com/generate_204被墙 ✅ 解决:测速地址改为http://cp.cloudflare.com/generate_204
实时查看连接日志命令
journalctl -u s-ui -f七、补充说明
- S-UI底层是sing-box,和3XUI(Xray内核)协议参数有差异,不要混用配置
- Reality核心校验:公钥、short-id、servername三者必须两端完全匹配
- 服务器安全组一定要放行监听端口TCP,否则nc检测不通
- 用户模块用来管理不同使用者的节点权限、流量、有效期
需要我再精简成适合博客发布的短版本吗?