自托管网络
主机名是安全模型的一部分。
对自托管 Cloud 而言,URL 不只是访问服务器的地址,其中的主机名还须与 TLS 证书匹配。
如果服务器使用 Tailscale HTTPS,.ts.net 主机名可能既是实际访问地址,也是 TLS 证书验证的主机名。
使用证书上的名称
不要直接把 TLS 主机名换成 Tailscale 原始 IP 地址。IP 地址可能连得通,但证书通常验证的是主机名,而不是 IP 地址。
如果证书签发给 hive.example.ts.net,请用 https://hive.example.ts.net 配置 Contextify,而不是 https://100.x.y.z。
分层逐一检查
| 层 | 命令 | 能说明什么 |
|---|---|---|
| DNS | host hive.example.ts.net |
这台 Mac 能否解析该主机名。 |
| Tailscale 状态 | tailscale status |
Mac 是否已连接到 tailnet。 |
| HTTP 健康检查 | curl -i https://hive.example.ts.net/api/v1/health |
完整 URL 是否可达,以及 TLS 是否成功。 |
| 客户端配置 | contextify cloud status --json |
Contextify 当前配置的连接目标。 |
服务器正常时,MagicDNS 也可能出故障
VPN 客户端和 DNS 安全工具可能改变 macOS 的解析器状态。你也许仍能浏览公共网站,本地应用解析 .ts.net 名称却会失败。
如果 Tailscale 显示 no resolvers found 之类的 DNS 错误,只清除 macOS DNS 缓存可能不够。重新连接 Tailscale 或重置其 VPN 配置,可以让 DNS 解析器重新生效。
tailscale set --accept-dns=false
tailscale set --accept-dns=true
host hive.example.ts.net
如果故障发生前不久你用过其他 VPN,先怀疑 DNS 解析器状态,再怀疑 Contextify 同步。
端口和代理
自托管部署通常把 API 运行在回环端口上(例如 8443),再用 Caddy 或其他代理在前面提供 HTTPS。
在这种形态下,客户端使用不带回环端口的 HTTPS 主机名。仅 HTTP 验证模式可能包含 8444 这样的端口,但那只是用于可信网络的临时方式。
需要向支持人员提供什么
请提供已配置的服务器 URL、脱敏后的最新错误、host 能否解析该名称、curl /api/v1/health 是否正常,以及最近是否有 VPN 或 DNS 工具发生变化。
不要发送原始 API 密钥、配置令牌、认证链接、Cookie 或 OTP 验证码。
最后更新:2026 年 5 月 30 日