TSLink v0.2.0:一次 gateway 共享,访问多个私有应用
可选 portal gateway 模式、健康检查变化、升级步骤与 registry 兼容说明。
TSLink v0.2.0 增加可选 portal gateway 模式,让 tailnet 之外的人访问一个或多个应用。访问者安装 Tailscale,以获授权账户登录,接受一次 portal 节点设备共享。之后你可以调整其可访问的路由应用,无需再次邀请。默认仍逐应用分享。
TSLink 是独立项目,并非由 Tailscale 制作或背书。
启用 gateway 模式
以已注册的私有 HTTP 或文件应用 photos 为例:
tslink portal enable --owner you@example.com --gateway
tslink portal route add photos
tslink portal route list --json
tslink status --urls按提示完成 portal 入网。主页使用 HTTPS 端口 443,各应用路由使用独立 HTTPS 端口,默认从 8443-8499 分配。使用返回的准确地址。
邀请新的外部访问者:
tslink people add alice@example.com --apps photos --for 7d --invite --print-links把账户换成实际 Tailscale 登录账户。创建邀请需存储用户自己的 Tailscale API token;生成的消息由你发送,链接凭证应私下保存和发送。已有人员使用 people update。每个请求都会检查人员授权,Tailscale 网络策略仍然适用。配置、私有访问者步骤和失效邀请恢复见 gateway 模式。
Gateway 也支持 portal-only 应用和显式注册的其他主机 HTTPS 应用。远程应用经由已确认带标签的 gateway 节点访问;远端主机认证的是 gateway 节点,不是访客。不提供自动多主机发现。TCP、Funnel 与访客链接应用不能成为 gateway 路由。Gateway 端口共用 cookie,因此要保留应用认证并验证兼容性。
健康检查
未显式设置状态范围的 HTTP 检查现在接受 200-399,但不跟随重定向。意外状态或正文响应保持 degraded,不发送 app_down 告警。只有无法连接的后端连续失败三次才成为 down。Status 包含观测到的 status_code,doctor 对意外响应报告 app_probe_unexpected_response。
使用新增的健康专用编辑,不要用 add 替换整个应用:
tslink health set photos --path /health请选择应用实际的健康路径。此操作只修改健康设置,保留访问、标签、人员范围、路由与入网状态。Owner MCP 工具 health_set 提供相同操作。见健康检查。
升级
-
按安装渠道升级二进制。Homebrew:
bash brew upgrade --cask anydoor7/tap/tslinkScoop 先运行
scoop update,再运行scoop update tslink。归档或软件包用户通过安装指南下载 v0.2.0 发布文件。 -
若 TSLink 作为后台服务运行,再运行一次
tslink install,让服务使用新二进制。 -
检查
tslink status --json和tslink doctor --json,再从获准的访问设备测试应用。
兼容与降级
现有 registry 在配置 gateway 模式前保留原 schema 版本。Gateway 状态使用 schema 3,旧版本会拒绝读取。
降级前停止新守护进程,备份 registry 与 portal 状态,再使用 v0.2.0 删除或替换 portal-only/remote 应用、移除所有路由并关闭 gateway 模式。已有 gateway 邀请记录即使在 gateway 关闭后也会保留 schema 3;若仍有记录,必须恢复启用 gateway 前的 registry 备份,期间的人员与邀请变更会丢失。启动旧守护进程前核对设备共享与授权预期。请按完整降级流程操作;只换二进制不算降级。
完整说明见网站更新日志和 TSLink v0.2.0 更新日志。