把连接过程拆成三个阶段

首先需要连到服务器地址与端口;接着建立TLS连接并核对服务器身份;之后才进行Trojan协议认证与请求转发。TCP端口可连接,并不能证明后两步成功。原始Trojan协议文档描述了TLS建立后发送认证请求的过程。

在协议参数对照中可以看到,Trojan使用密码,而VLESS使用UUID。不要把两者字段互换,也不要把服务端证书当作用户密码。

证书链与主机名分别要检查什么

证书链应能追溯到受信任的根,证书应在有效期内,所验证名称应与证书覆盖的名称匹配。客户端系统时间错误可能让有效期判断异常。SNI用于握手中的名称指示,实际名称验证则依客户端安全配置完成,两者作用相关但不能一概等同。

网络连接地址可能是IP,而预期的TLS名称来自提供方配置。不要为消除错误随便填另一个域名。证书可信,也只说明服务端身份检查通过,不能保证Trojan密码或后续转发一定正确。

按失败阶段记录,避免反复改密码

观察到的现象优先核对不能直接得出的结论
连接超时或被拒绝地址、端口与网络可达性不等于密码一定错误
证书或TLS握手错误名称、证书链、有效期、时间不等于用户认证已经失败
握手后请求未通过密码、协议与服务端配置不等于TLS一定有问题

错误文案因客户端和内核而异,本表是排查顺序,不是固定错误码字典。用服务器Profile检查表记录原始字段与失败阶段,提供方也更容易判断应修复哪一层。

正确修复配置,而不是跳过验证

  1. 保留原Profile,核对来源提供的地址、端口、密码和TLS名称。
  2. 确认设备时间及信任证书环境,检查服务端证书是否过期或链不完整。
  3. 按当前客户端支持范围检查传输附加参数,避免把其他实现的扩展默认视为可用。
  4. 修正已确认的问题后重新测试,必要时让服务器管理者更新证书或修复服务端设置。

不应通过关闭证书验证来替代修复。若需要对照另一种安全模式,可以阅读VLESS与REALITY字段,但REALITY公钥不属于Trojan密码配置。

测试通过后,再确认实际使用状态

一次URL Test成功只反映该次经Profile到测试目标的请求。随后还需确认启动的是预期节点,并检查需要使用连接的应用。日志与截图应隐藏密码和完整URI;保留“失败阶段、修改字段、测试条件”这三项记录即可,无需公开有效服务器身份信息。