三个组件分别做什么
Tailscale 把获准设备连接到私有网络;Serve 在私网内提供 HTTPS 入口,并把请求转发给主机服务;Rovai 保存工作台,仍要求自己的登录。
Serve 受私网访问规则约束。Funnel 是另一项公网发布能力,本教程不启用它。它们属于外部工具,不是 Rovai 内置设置。
Server 的私网 HTTPS 路径
两端加入同一私网
- 在 Rovai 主机和手机 / 另一台电脑上安装 Tailscale,登录预期的私网并连接两端。
- 主机运行 tailscale status,或在应用中查看设备列表。确认另一设备属于正确网络,且私网访问策略允许其到达这台主机。
- 主机命名避免包含敏感信息。Serve HTTPS 按 Tailscale 设置流程启用所需 MagicDNS / HTTPS;证书名称可能出现在公开证书透明度记录中。
- 访问设备保持 Tailscale 已连接。私有 ts.net 地址使用 HTTPS,并不意味着它是公网网站。
Tailscale 设置参考
Server · 准备 HTTPS 入口
- 先在主机运行 tailscale serve status。选择空闲 HTTPS 端口,不覆盖无关 Serve / Funnel 配置。
- 创建下方 Serve 转发。CLI 已具备所需权限的平台可省略 sudo。若打印启用 HTTPS 的设置链接,按 Tailscale 流程完成。
- 从 tailscale serve status 读取真实 https://…ts.net 地址;下方 orbit-host.example-tailnet.ts.net 是占位值。
- 先停止使用该数据目录的原前台 Server,再以回环地址启动,将 --public-origin 设置为真实 HTTPS 来源(协议、主机及非默认端口,不带路径或查询参数)。
在主机配置 Serve
tailscale serve status
sudo tailscale serve --bg --https=443 http://127.0.0.1:8767
tailscale serve status在主机启动 Server
rovai-server --data-dir "$HOME/.rovai-server" \
--listen 127.0.0.1:8767 \
--public-origin https://orbit-host.example-tailnet.ts.net来源与程序入口必须对应
macOS 0.4.0 使用安装页所示 current/rovai-server 完整路径;PowerShell 把 Server 参数放在同一行。回环后端无需 --allow-insecure-lan。
访问设备先连接 Tailscale,打开准确 HTTPS 地址,再填写本 Server Token。检查 Orbit 项目和上次会话。Serve 提供传输入口,不代替 Rovai 认证。
外部来源不匹配时可能页面能打开,但登录或实时更新失败。修正 --public-origin,再重启同一实例;不要关闭认证或添加任意来源。
Desktop 0.4.1 · 使用私网 IP
- 两端保持连接 Tailscale。在桌面主机的 Tailscale 中查到私网 IPv4 地址(通常为 100.x.y.z),再开启 Desktop Web。
- 另一设备打开 http://100.x.y.z:8766/,替换真实地址及所选端口。主机需有该网卡地址,私网策略与主机防火墙均允许连接。
- 使用 Desktop Token 登录。浏览器采用 HTTP,设备间流量通过加密 Tailscale 连接传输;这不会在浏览器增加 TLS 小锁。
- 不要把 Server 的 --public-origin 命令用于 Desktop。Desktop 0.4.1 没有 Serve HTTPS 域名设置;需要这种 HTTPS 入口时,选择独立 Server。
保持运行与关闭入口
Serve --bg 会保留转发配置,但不会启动 Rovai。主机需要保持唤醒;有需要时另行配置 Server 后台启动。休眠的笔记本仍不可访问。
仅移除本例创建的 HTTPS 443 映射时,使用下方对应 off 命令,再检查状态;不要重置无关映射。Desktop 直连可通过关闭其 Web 服务或撤销相应网络访问来结束。
关闭本例 Serve 映射
sudo tailscale serve --bg --https=443 off
tailscale serve status