2a6f526bc9
侧栏浏览器页 iframe 预览 http(s) 站点;服务器列表「站点」由 domain 跳转,禁止嵌入时可新标签打开。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.2 KiB
1.2 KiB
内置 Web 浏览器 — 设计说明
背景与目标
运维需在 Nexus 内快速预览子机站点(域名),不必切换外部浏览器;与终端、文件管理并列的运维入口。
方案对比
| 方案 | 优点 | 缺点 |
|---|---|---|
| iframe 嵌入 | 无后端、实现快、无 SSRF | 部分站点 X-Frame-Options 禁止嵌入 |
| HTTP 反向代理 | 可绕过 frame 限制 | SSRF 风险、需维护代理与 Cookie |
| 仅外链新标签 | 零风险 | 非「内置」 |
选定:iframe + 地址栏 + 新标签兜底;首版不做 HTTP 代理。
接口与路由
- 前端
#/browser?url=https://example.com - 服务器列表「站点」→ 带
url(由domain推导https://{host},不含 SSH 端口)
安全
- 仅允许
http:/https:;拒绝javascript:、data:、凭据 URL - iframe
sandbox:allow-scripts allow-same-origin allow-forms allow-popups allow-downloads - 无后端 fetch,不引入 SSRF
- 不记录浏览审计(被动预览,非 CUD)
验收
- 侧栏「浏览器」进入全屏 iframe 页
- 地址栏输入 URL 可导航;刷新 / 新标签打开
- 服务器列表「站点」跳转并加载域名
- 非法 URL 拒绝并提示