3.6 KiB
3.6 KiB
Nexus 正式环境遗漏补发记录(2026-07-07)
背景
用户反馈:正式页面里“全局 API Key / API Key”仍可见。排查后确认:此前正式环境只热更新了宝塔 diagnostics 相关后端文件,524acd5 fix-stop-exposing-global-api-key-in-settings 与 fa44439 fix btpanel ssh temp login python env 未完整补发到正式容器。
本次补发范围
来源:局域网测试机 /opt/nexus-dev-current。
补发到正式容器 nexus-prod-nexus-1 的文件:
server/api/settings.py- GET
/api/settings/对敏感设置不再返回明文值。 api_key/secret_key/encryption_key/ Telegram Bot Token 返回value=""+value_set=true/false。
- GET
server/infrastructure/btpanel/ssh_login.py- 补发 SSH 临时登录 Python 环境兼容修复。
web/app/index.htmlweb/app/assets/- 补发 SettingsPage 前端构建产物,使当前设置页不再展示旧的全局 API Key 明文字段。
补丁包
测试机生成:
/tmp/nexus-settings-frontend-patch-20260707.tar.gz- SHA256:
a56153c16ca74a80597ffd134bed3aa2bcdcef1c77b7e67a0998bdd1b85a13d6
本地留存:
C:\Users\uzuma\Documents\Codex\2026-07-06\yuu\work\nexus-settings-frontend-patch-20260707.tar.gz
正式机上传:
/tmp/nexus-settings-frontend-patch-20260707.tar.gz
正式环境热更新结果
正式主机:20.24.218.235
容器:nexus-prod-nexus-1
执行动作:
- 校验补丁包 SHA256。
- 解压到 staging 目录。
- 备份容器旧文件。
docker cp覆盖后端与前端构建产物。python -m py_compile检查两个 Python 文件语法。- 重启容器。
- 访问
/health健康检查。
结果:
- 备份目录:
/tmp/nexus-settings-patch-backup-20260707-170246 - staging 目录:
/tmp/nexus-settings-patch-20260707-170246 - 健康检查:
ok
验证结果
1. API 不再返回全局 API Key 明文
通过正式域名 https://api.synaglobal.vip 登录后调用:
GET /api/settings/
验证结果:
- 登录:
HTTP/1.1 200 OK - Settings:
HTTP/1.1 200 OK - settings_count:
33 - sensitive_keys_present:
api_key,secret_key,telegram_bot_token,telegram_offline_bot_token - sensitive_values_plaintext:
NO api_key_value_set:True
说明:正式 API 仍会告诉前端“已配置过 API Key”,但不会返回真实值。
2. 当前前端入口已更新
正式容器当前入口:
/app/web/app/index.html- 引用入口 JS:
/app/assets/index-CASoZdpL.js - 当前 SettingsPage 构建文件:
SettingsPage-DFgw8KT9.js
检查当前 SettingsPage 构建文件未发现 API 文案输出;目录内旧的 SettingsPage-*.js 残留不代表正在被当前入口使用。
用户侧注意事项
如果浏览器还看到旧的“全局 API Key / API Key”区块,优先按以下顺序处理:
- 强制刷新页面(Windows:
Ctrl + F5)。 - 退出 Nexus 后重新登录。
- 清除
api.synaglobal.vip站点缓存。 - 确认访问的是正式域名
https://api.synaglobal.vip,不是本地http://localhost:18600/app/旧代理页面。
回滚方式
如需回滚本次热更新,可从正式机备份目录恢复:
/tmp/nexus-settings-patch-backup-20260707-170246/settings.py/tmp/nexus-settings-patch-backup-20260707-170246/ssh_login.py/tmp/nexus-settings-patch-backup-20260707-170246/web-app
恢复后重启容器并检查 /health。
结论
本次已经把之前遗漏的正式环境文件补发完成。当前正式 API 不再泄露全局 API Key 明文;前端当前入口也已切到新的 SettingsPage 构建产物。