跳转至

T3 Connect 故障排查

T3 Connect 连接按顺序经过四个部分:

  1. 本设备通过互联网访问 T3 Connect。
  2. T3 Connect 检查你的登录信息和主机的链接。
  3. 主机的隧道(主机上的 cloudflared)将请求传送到主机。
  4. 主机上的 T3 Code 进行响应。

当连接失败时,打开 设置 > 环境,找到环境,然后选择 详细信息。第一个标记为失败的部分就是原因。在下方找到对应的部分。

要查看主机端的情况,请在主机上运行 t3 connect status,或打开主机上的 设置 > 共享与访问。两者都会从主机检查主机的 T3 Connect 地址,并说明失败原因。t3 connect 在完成设置时会运行同样的检查。此检查无法测试另一台设备的网络。如果某台设备出现问题,请在该设备上使用 详细信息。

主机的隧道离线

T3 Connect 无法访问主机的隧道。这意味着以下情况之一:

修复:

  1. 确保主机已唤醒并且 T3 Code 在其上运行。
  2. 在主机上运行 t3 connect status。它会指出主机端的问题。
  3. 如果主机长时间离线,T3 Connect 会移除其隧道。请在主机上启动 T3 Code 并将其更新到最新版本。它会获得一个新隧道。

主机上的 7844 端口被阻止

主机上的隧道通过 TCP 和 UDP 在 7844 端口连接到 Cloudflare。两种隧道协议(QUIC 和 HTTP/2)都使用此端口。当主机的网络阻止该端口时,隧道无法启动,但正常的网络流量仍然可以工作。主机看起来在线,因此这个问题很容易被忽略。

常见原因:

  • 主机上的 Tailscale 出口节点。 主机的所有互联网流量都经过该出口节点,而该网络阻止了 7844 端口。使用 tailscale set --exit-node= 关闭主机上的出口节点,或在出口节点的网络上允许出站 7844 端口。
  • 主机上的 VPN。 工作 VPN 通常会阻止未知端口。请允许 7844 端口,或改用直接路由(见下文)。
  • 防火墙或严格网络。 允许出站 TCP 和 UDP 7844 端口。

如果无法解除端口阻止,你也可以在不使用 T3 Connect 的情况下连接。当主机和本设备位于同一 Tailscale 网络时,将主机的 Tailscale 地址添加为直接路由。参见通过多种方式访问同一台机器。

隧道正常,但 T3 Code 没有响应

主机的隧道已启动,但无法访问主机上的 T3 Code。常见原因:

  • 主机上的 T3 Code 已停止、崩溃或仍在启动中。
  • T3 Code 在不同的端口上重启(例如更新后),而隧道仍指向旧端口。
  • 服务器仅使用 T3CODE_HOST 绑定一个网络地址。隧道将请求发送到 127.0.0.1,因此服务器也必须在该地址监听。

修复:在主机上重启 T3 Code。对于后台服务,运行 t3 service restart。然后在主机上运行 t3 connect status。

T3 Connect 地址无法解析或无响应

主机的 T3 Connect 地址无法解析、拒绝连接、安全(TLS)连接失败,或未及时响应。

修复:

  1. 确保主机已唤醒并在线。
  2. 在主机上运行 t3 connect status。
  3. 如果检查仅在主机上失败,请检查主机的 DNS、VPN 或代理。

本设备无法访问 T3 Connect

问题出在本设备的网络上,而不是主机上。本设备无法访问 T3 Connect,或者虽然访问到了 T3 Connect,但无法访问主机的隧道地址。

修复:

  1. 检查本设备的互联网连接。在强制门户或失效的 Wi-Fi 网络上,设备可能看起来在线,但无法访问任何内容。
  2. 本设备上的 VPN、防火墙、广告拦截器或 DNS 过滤器可能会阻止 T3 Connect。暂时关闭它们进行测试。
  3. 在 iPhone 上,Wi-Fi 设置中的连接助手可能会中断 T3 Connect。将其关闭进行测试。
  4. 尝试其他网络,或添加一条到主机的直接路由,例如其 Tailscale 地址。参见通过多种方式访问同一台机器。

本设备的 T3 Connect 登录尚未就绪,或者 T3 Connect 在你的账户与主机之间没有有效的链接。

  • 主机链接到了不同的账户。 在本设备和主机上登录同一个 T3 Connect 账户。在主机上运行 t3 connect logout,然后运行 t3 connect。
  • 主机上的 T3 Connect 已关闭,或者主机只发布代理活动。 在主机上,打开 设置 > 共享与访问 并打开 T3 Connect,或运行 t3 connect。
  • 主机已链接,但服务器尚未应用该链接。 重启主机上的服务器:退出并重新打开 T3 Code 桌面应用,运行 t3 service restart,或停止 t3 serve 并重新运行。
  • 本设备的登录已过期,或主机不再接受此设备。 退出 T3 Connect 并重新登录。
  • 本设备仍在加载其 T3 Connect 登录。 稍等片刻;T3 Code 会自动重试。如果它一直等待,请在本设备上重新加载或重启 T3 Code。
  • 你的账户已达到隧道限制。 从你的 T3 账户的 T3 Connect 页面中删除一个不使用的环境,或关联付费 T3 Chat 账户以获得更高限制。然后在主机上重启 T3 Code。

时钟不准

T3 Connect 使用短期证明对请求进行签名。当本设备或主机的时钟相差几分钟时,T3 Connect 会拒绝这些请求。请在两台设备上开启自动日期和时间,然后重试。

主机运行的是旧版 T3 Code

此应用需要主机上更新版本的 T3 Code。请更新主机上的 T3 Code。参见更新 T3 Code。

T3 Connect 返回了错误

错误 修复
environment_link_limit_exceeded 或托管隧道限制 删除未使用的环境,或关联付费 T3 Chat 账户,然后在主机上重启 T3 Code。
auth_invalid 或 invalid_bearer 运行 t3 connect login。如果凭据已被撤销,先运行 t3 connect logout,再运行 t3 connect。登录后重启服务器。
过期或无效的链接证明 检查主机的日期和时间,更新 T3 Code,然后重启。
未识别出具体错误的 HTTP 403 检查中继访问、代理和防火墙规则。保留任何 Cloudflare Ray ID 以用于提交错误报告。
HTTP 408、429 或 5xx 等待几分钟。T3 Code 会自动重试临时故障。

修复永久性拒绝问题后,使用 t3 service restart 重启主机上的服务器。如果是前台服务器,请停止它并重新运行 t3 serve。

如果 SSH 关闭时主机上的 T3 Code 消失,请参阅后台服务故障排查。

报告问题

如果上述方法均无效,请在 GitHub 上提交 issue。请包含:

  • 环境 Details 中的 Copy diagnostics 文本。
  • 主机上 t3 connect status 的输出。
  • 显示的 trace ID(如有)。
  • 如果隧道之前断开过,请一并提供主机的隧道日志,即日志文件夹(默认为 ~/.t3/userdata/logs)中的 relay-client.ndjson。该日志记录了隧道连接、警告、退出和重启的时间,并已移除其中的隧道令牌。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 t3/t3code