feat: 服务管理支持 HTTP/HTTPS 协议选择

- Service 增加 scheme 字段,build_url 按协议拼接地址
- 表单新增协议下拉;启动时自动迁移已有 SQLite 库
- 更新部署说明中的 HTTPS 服务添加示例

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-05-30 11:37:32 +08:00
parent a8cf3422e4
commit fd5e333daf
5 changed files with 62 additions and 5 deletions
+14 -2
View File
@@ -29,7 +29,7 @@
| 数据库 | SQLite,默认文件名为 `nav_local.db`(与运行当前工作目录有关)。 |
| 网络监听 | 默认绑定 `0.0.0.0`,便于同局域网手机、电脑访问。 |
**说明**:服务访问地址由程序拼接为 `http://{host}:{port}{path}`当前版本固定为 **HTTP**(内网场景)。若目标服务为 HTTPS,需在后续版本中扩展字段;嵌入 iframe 时浏览器仍按 HTTPS 规则校验混合内容等
**说明**:服务访问地址由程序拼接为 `{scheme}://{host}:{port}{path}`可在「服务管理」中选择 **HTTP****HTTPS**。嵌入 iframe 时浏览器仍按混合内容等安全策略校验(例如导航站为 HTTPS、内嵌目标为 HTTP 时可能被浏览器拦截)
---
@@ -214,12 +214,24 @@ http://<本机局域网IP>:5070
- 字段含义简要说明:
- **服务名称**:左侧显示名称。
- **内网 IP 或主机名**:如 `192.168.1.10` 或可解析的主机名
- **协议****HTTP** 或 **HTTPS**HTTPS 站点选 HTTPS,端口一般填 `443`(或其它 TLS 端口)
- **主机或域名**:如 `192.168.1.10``api.example.com` 等。
- **端口**165535。
- **路径**:可选,须以 `/` 开头;留空则按 `/` 处理。
- **分组**:必选。
- **排序**:同分组内数字越小越靠前。
**HTTPS 服务示例:**
| 字段 | 示例值 |
|------|--------|
| 协议 | HTTPS |
| 主机或域名 | `panel.example.com` |
| 端口 | `443` |
| 路径 | `/` |
生成地址:`https://panel.example.com:443/`
### 8.5 关于 iframe 打不开的说明
部分网站(尤其银行、部分管理面板)通过 **`X-Frame-Options`** 或 **`Content-Security-Policy`** 禁止被嵌入 iframe,此时右侧区域可能为空白或浏览器控制台报错。这属于 **目标站点安全策略**,与本导航站实现无关。若必须统一入口,只能由目标服务侧放开嵌入策略,或改为新窗口打开(需改代码,非当前默认行为)。