27 lines
933 B
Markdown
27 lines
933 B
Markdown
|
|
# 2026-06-21 宝塔面板登录 URL 修复
|
|||
|
|
|
|||
|
|
## 摘要
|
|||
|
|
|
|||
|
|
修复「面板登录」`POST /api/btpanel/servers/{id}/login-url` 返回 500:SSH 回退改用宝塔自带 `pyenv` 执行 `tools.py`,相对路径自动探测含安全入口的浏览器地址。
|
|||
|
|
|
|||
|
|
## 动机
|
|||
|
|
|
|||
|
|
生产验收:系统 `python3` 调 `tools.py` 缺 `psutil`;`get_temp_login_ipv4` 输出多行(裸 base + `/login?tmp_token=`),需解析并拼安全入口。
|
|||
|
|
|
|||
|
|
## 涉及文件
|
|||
|
|
|
|||
|
|
- `server/infrastructure/btpanel/ssh_login.py` — pyenv Python、多行解析、`resolve_temp_login_url`
|
|||
|
|
- `server/application/services/btpanel_service.py` — API `set_temp_login` 相对路径走面板地址探测
|
|||
|
|
- `tests/test_btpanel_ssh_login.py`
|
|||
|
|
|
|||
|
|
## 迁移 / 重启
|
|||
|
|
|
|||
|
|
- 部署 API 即可;无需 DB 迁移。
|
|||
|
|
|
|||
|
|
## 验证
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
.venv/bin/pytest tests/test_btpanel_ssh_login.py -q
|
|||
|
|
# 生产:POST /api/btpanel/servers/3/login-url → 200,url 含 tmp_token 与安全入口
|
|||
|
|
```
|