已合并
使用nginx启动manager-web #509
陈卉创建于 20 天前
使用nginx启动manager-web #509
已合并
Pull Request已成功合入, 合并人@张雅晴
(感谢 陈卉 的贡献)atomgit-bot
20 天前 评论:
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。


不准确?
atomgit-bot
20 天前 评论:
20 天前 评论:
openJiuwen-bot
20 天前 评论:
20 天前 评论:
欢迎来到 openJiuwen 社区
Hey @chen-hui-zhe-xi , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。


atomgit-bot
20 天前 评论:
20 天前 评论:
20 天前 添加了label:openJiuwen-cla/yes
openJiuwen-bot
20 天前 评论:
20 天前 评论:
20 天前 修改了pull request 的描述
openJiuwen-bot
20 天前 评论:
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}} |


20 天前 添加了label:ci-successful
20 天前 修改了pull request 的描述
20 天前 合入了pull request
20 天前 删除了label:ci-successful
Paired: GitHub #166 ↔ GitCode !509
What type of PR is this?
/kind feature
Self-checklist:(请自检,在[ ]内打上x,我们将检视你的完成情况,否则会导致pr无法合入)