主题
授权续期
授权的生命周期
| 阶段 | status | 系统表现 |
|---|---|---|
| 有效期内 | valid | 正常使用 |
| 到期前 30 / 15 / 7 / 3 / 1 天 | valid | 通过 license.webhook 推送提醒,每档只推一次 |
| 到期后 7 天内 | grace | 宽限期,系统仍可用 |
| 宽限期结束 | blocked | 业务接口停用,浏览器显示提示页 |
宽限期起点记录在 data/license_state.json,重启不会重置。
IP 不匹配时没有宽限期,立即变为 blocked。
停用期间以下地址仍可访问,便于恢复:/health、登录页、/api/v1/license 相关接口。
查看当前授权
bash
curl -fsS http://127.0.0.1:9000/api/v1/license/status返回授权状态、原因、客户号、到期日、授权模块与账套 / 用户配额。
续期步骤
- 收到到期提醒后联系我方,获取新的
license.lic。IP、授权模块或配额有变化的,一并告知。 - 用新文件覆盖
data/license.lic。 - 重启服务。
必须重启
程序每 24 小时才重新读取一次授权文件。只替换文件不重启,最长要等一天才生效。
各平台的替换与重启命令:
| 平台 | 命令 |
|---|---|
| Linux systemd | sudo cp license.lic /opt/apexpm/data/license.lic && sudo systemctl restart apexpm |
| Linux start.sh | cp license.lic data/license.lic && ./stop.sh && ./start.sh |
| Linux deploy.sh | 把新文件放到本机交付包的 data/license.lic,重新执行 SERVER=... ./deploy.sh(每次都会同步授权文件并重启) |
| Docker | cp license.lic data/license.lic && docker compose restart |
| Windows | Copy-Item license.lic C:\apexpm\data\license.lic -Force; C:\apexpm\apexpm-service.exe restart |
| macOS | cp license.lic ~/apexpm/data/ && launchctl kickstart -k gui/$(id -u)/com.apexpm.server |
重启后再查一次 /api/v1/license/status,确认 status 为 valid、到期日已更新。
常见错误
| reason | 原因 | 处理 |
|---|---|---|
License 文件缺失 | 找不到授权文件 | 确认路径与 config.yaml 的 license.path 一致;Windows 注意隐藏扩展名导致的 license.lic.txt;Docker 确认 ./data 挂载正常 |
License 无效或被篡改 | 签名校验不通过 | 文件在传输中损坏(邮件、即时通讯软件可能改动文件),用压缩包重新传一次;仍不行联系我方 |
IP 未授权 | 服务器网卡 IP 不在授权范围内 | 换过服务器或 IP、Docker 用了 bridge 网络、提供的是云服务器公网 IP。取本机网卡上的真实 IP 联系我方重新签发 |
License 已过期 | 已过有效期 | grace 说明还在宽限期内,blocked 说明宽限期已用完。联系我方续期 |
| 替换后状态没变 | 没有重启 | 按上表重启 |