fix: resolve stuck detecting state for panel stats on subpath deploy

Always inject panel_base from PANEL_PATH for static/API URLs and set
SCRIPT_NAME in middleware so /api/stats works behind nginx subpaths.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-16 10:31:58 +08:00
parent ba361eb5b8
commit d75193d527
5 changed files with 58 additions and 13 deletions
+21
View File
@@ -74,6 +74,27 @@ systemctl restart jiedian-panel
若域名在阿里云/Cloudflare 开了 **CDN 代理**,建议对管理域名 **关闭 CDN**(仅 DNS 解析到 VPS),否则 80 端口回源也可能异常。
### 在线节点 / 统计一直显示「检测中」
页面初始状态是「检测中」。若长期不变且数字一直是 `-`,说明 **前端 JS 或 `/api/stats` 请求失败**(常见:静态资源路径缺少 `PANEL_PATH` 前缀)。
**处理**
```bash
cd /opt/jiedian
git pull
grep PANEL_PATH /opt/jiedian/.env
grep PANEL /etc/systemd/system/jiedian-panel.service
systemctl restart jiedian-panel
```
浏览器 **Ctrl+F5** 强制刷新。按 F12 → Network,确认:
- `.../jiedian-xxxx/static/app.js` 返回 200(不是 `/static/app.js`
- `.../jiedian-xxxx/api/stats` 返回 200 JSON
`app.js` 404 或 `api/stats` 返回纯文本 `ok`,说明路径前缀仍未生效,需确认 `.env``PANEL_PATH` 与 systemd 里 `Environment=PANEL_PATH=...` 一致。
### sing-box 报错 v2ray api is not included in this build
GitHub 下载的官方 sing-box **默认不带** `v2ray_api` 模块。若配置里写了 `experimental.v2ray_api`,启动时会直接失败: