已合并
使用nginx启动manager-web #509
使用nginx启动manager-web #509
已合并
陈卉创建于 20 天前
陈卉
20 天前

Paired: GitHub #166 ↔ GitCode !509

What type of PR is this?

/kind feature

Self-checklist:(请自检,在[ ]内打上x,我们将检视你的完成情况,否则会导致pr无法合入)

likedislike
Pull Request已成功合入, 合并人@张雅晴
(感谢 陈卉 的贡献)
atomgit-bot
atomgit-bot
20 天前 评论:

变更摘要

本 PR 将 manager-web 的启动方式从原先的 Python 服务(uv pip install 安装 manager_server 后执行 CMD ["manager-web"])改为由 nginx 承载:Dockerfile.manager-web 重构为「Node 构建前端 + nginx 运行」的两阶段镜像,并新增 docker/manager-web.nginx.conf.template 配置文件,由 nginx 实现反向代理、基于 auth_request 的鉴权、WebSocket 中继与静态资源缓存,语义上对齐原 manager_web.py 的行为(注释中列举了 401 响应体、idp 不可达返回 500、WS 鉴权失败返回 HTTP 401 等已知差异)。同时顺带调整了 config_sync_seed.sh 中 jiuwenbox 的策略路径与挂载路径。该改动主要聚焦部署形态的切换,业务接口与对外行为基本保持不变。

主要改动

  • Dockerfile 两阶段构建改造:阶段一基于 node:20-alpine 执行 npm install / npm run build 生成前端 dist,阶段二基于 nginx:1.27-alpine 作为运行镜像,拷贝构建产物与 nginx 配置模板,删除原 uv pip install、USER app、CMD ["manager-web"] 等 Python 运行相关指令,仍暴露 5273 端口。
  • 新增 nginx 配置模板 docker/manager-web.nginx.conf.template:由 nginx 官方 entrypoint 通过 envsubst 渲染,注入 MANAGER_WEB_PORT、MANAGER_WEB_PROXY_TARGET、MANAGER_WEB_IDP_TARGET、MANAGER_WEB_USER_WEB_TARGET、MANAGER_WEB_GATEWAY_HTTP_TARGET、MANAGER_WEB_GATEWAY_WS_TARGET 等环境变量。
  • 鉴权与路由转发:新增内部 /_authz 子请求调用 idp 的 /v1/auth/me 鉴权(Authorization 头缺失时用统一登录 cookie 拼 Bearer),/api、/manager-api、/idp 免鉴权转发;/gateway-api、/file-api、/share-api、/ws 鉴权后转发,401 统一返回 {"detail":"Not authenticated"} JSON 响应体。
  • WebSocket/SSE 与静态资源处理:/ws、/ws/ 配置 Upgrade/Connection 头中继,/gateway-api 关闭缓冲以支持流式(3600s 超时),/chat 同源嵌入转发(document 类请求 401 时跳转 /auth);/assets/ 长期不可变缓存,index.html 与 SPA 深链回退走 no-cache。
  • jiuwenbox 路径调整:config_sync_seed.sh 中 JIUWENBOX_POLICY_PATH 及 hp-jiuwenbox 的挂载路径由 /usr/local/lib/python3.11/site-packages/jiuwenbox 调整为 /app/jiuwenswarm/jiuwenbox,hostPath 源目录同步改为 ${CLAW_CODE_PATH}/jiuwenbox。
likedislike
不准确?
atomgit-bot
atomgit-bot
20 天前 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
openJiuwen-bot成员
20 天前 评论:

欢迎来到 openJiuwen 社区

Hey @chen-hui-zhe-xi , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

likedislike
atomgit-bot
atomgit-bot
20 天前 评论:

AtomGit AI 助手使用指南

在 PR 评论中使用命令即可触发。支持在普通评论和代码行评论中使用。

功能 命令 说明
代码审查 /ai review 检查代码质量、潜在问题、安全风险
PR 摘要 /ai summary 生成 PR 变更内容的结构化摘要
代码解释 /ai explain 解释代码变更的逻辑和意图
自由提问 @atomgit-bot <问题> 询问关于本 PR 的任何问题
帮助 /ai help 显示此帮助信息

免责声明

AI 助手可能存在误判,请结合自身判断。可以对评论点 👍 或 👎 帮助我们改进。

likedislike
不准确?
OopenJiuwen-bot成员
20 天前 添加了label:openJiuwen-cla/yes
openJiuwen-bot成员
20 天前 评论:

CLA 签署成功

chen-hui-zhe-xi, 感谢您的代码贡献。 所有的代码贡献者都已完成了 CLA 签署。 👍

likedislike
Oopenjiuwen-sync成员
20 天前 修改了pull request 的描述
openJiuwen-bot成员
20 天前 评论:
任务名称 结果 日志操作
静态检查 ✅SUCCESS 点此跳转
禁用词扫描 ✅SUCCESS 点此跳转
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 N/A N/A
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck {{ruff_codecheck_result}} {{ruff_codecheck_link_text}}
issue关联检查 {{issue_linked_result}} {{issue_linked_link_text}}
pr size检查 {{pr_size_result}} {{pr_size_link_text}}
likedislike
OopenJiuwen-bot成员
20 天前 添加了label:ci-successful
陈陈卉
20 天前 修改了pull request 的描述
Oopenjiuwen-sync成员
20 天前 修改了pull request 的描述
张雅晴张雅晴成员
20 天前 合入了pull request
OopenJiuwen-bot成员
20 天前 删除了label:ci-successful