v1.1.5-alpha1 升级说明¶
历史版本说明:本页保留版本迁移背景。当前
dev的运行模型已经收敛为中心到中心互联;旧无数据库边缘运行时只在edge分支维护。
1. 当前版本的端口和互联变化¶
dev 主站只需要开放:
- Web/API HTTP 端口。生产环境建议由反向代理提供 HTTPS。
System.Port主 UDP 端口。普通设备和中心间CPUD音频共用该端口。
中心互联不再使用独立的 TLS/TCP 控制端口,也不在中心配置中保留旧节点控制面字段。准入通过后台生成邀请 Token,再由对端使用 Token、主站地址、本地群组和收发控制调用 HTTP 准入接口。
2. 升级前检查¶
- 备份 MySQL、对象存储、当前二进制和
config.yaml。 - 记录当前 Web/API 和 UDP 端口、反向代理和防火墙规则。
- 校验发布包 SHA-256,并执行
./draarl -v确认版本。 - 如果站点此前使用过旧边缘部署,单独保留
edge分支的边缘配置和 identity 文件;这些文件不应复制到dev的中心配置。
3. 数据库迁移¶
已有数据库升级前先执行:
./draarl -c config.yaml -auto-migrate
升级后检查管理员页面中的中心互联和接入点配置。保存接入点配置时,程序会清理已经废弃的边缘健康有效期配置项。
4. 启用中心互联¶
在 config.yaml 中只保留中心互联设置:
Interconnect:
Enabled: true
CenterID: "center-a"
RegistrationTokenTTL: 86400
CredentialRotationGraceSeconds: 600
SessionRecoveryWindowSeconds: 180
重启主站后,在“群组管理 → 中心互联”完成:
- A 选择本地群组和收发权限,生成一次性邀请 Token。
- B 填入 Token、A 的 HTTP/HTTPS 地址、B 的本地群组和 B 侧收发权限。
- B 提交后等待 UDP 会话建立,在两端检查在线状态和收发包统计。
- 使用本地群组中的
Server-*虚拟设备确认远端音频来源。
邀请按 Interconnect.RegistrationTokenTTL 自动过期。HTTP 准入只交换 HMAC 证明、会话 ID、
策略摘要和 UDP 地址,不返回会话密钥;两端根据 Token verifier 和 session ID 独立派生 UDP
会话密钥,生产环境仍应通过 HTTPS 保护邀请提交和准入元数据。
两端用户、设备、群组和权限始终独立。任一端关闭互联或对应收发开关,该方向的音频立即停止。
5. 回滚¶
- 在两端停用中心互联或删除互联对象。
- 将
Interconnect.Enabled设为false并重启主站。 - 确认普通设备仍能通过 Web/API 和主 UDP 端口接入。
- 只有需要维护旧边缘部署时,才切换到
edge分支并按该分支的独立文档操作。
6. 验证清单¶
- Web/API 端口可以访问后台和准入接口,生产环境的反向代理正确提供 HTTPS。
- 主 UDP 端口可以同时承载普通设备和中心互联音频。
- 邀请 Token 只显示一次,重复导入到不同中心或不同群组会被拒绝。
- 未通过 AES-GCM 验证的 UDP Hello 不能改变会话地址绑定。
- 断线重连后必须重新认证,旧地址和旧数据包不会继续生效。
- 中心互联页面的收包、发包、丢弃和最后错误与实际运行一致。
完整的接口和数据面说明见多中心群组互联设计。