本文踩坑重点:新版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

  1. 登录服务器SSH,执行安装脚本
bash <(curl -Ls https://github.com/alireza0/s-ui/raw/main/install.sh)
  1. 脚本加载完成后,输入1选择Install开始安装
  2. 安装结束后,会输出面板地址、账号、密码,请妥善保存
  3. 访问面板: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

七、补充说明

  1. S-UI底层是sing-box,和3XUI(Xray内核)协议参数有差异,不要混用配置
  2. Reality核心校验:公钥、short-id、servername三者必须两端完全匹配
  3. 服务器安全组一定要放行监听端口TCP,否则nc检测不通
  4. 用户模块用来管理不同使用者的节点权限、流量、有效期

需要我再精简成适合博客发布的短版本吗?