This commit is contained in:
vet
2026-04-20 10:13:30 +07:00
parent 20f8009572
commit f41930113d
2 changed files with 20 additions and 52 deletions

View File

@@ -283,24 +283,25 @@ TENCENT_SDK_SECRET_KEY=xxx
> - `ws` → meetingmsg 弹幕 WebSocket `:8000`
> - `liveApi` → livestream 直播间 API `:8888`
### Nginx 反代(仅公网 IP,供 PC / 浏览器访问后端)
### Nginx 反代(域名 HTTP 入口,供 PC / 浏览器访问后端)
无域名时,在**测试服务器**上部署 Nginx。HTTP `:80` 继续作为 API 网关;HTTPS `:443` 额外反代 PC Vite dev server,并启用 COOP/COEP避免 OpenIM Web 版 WASM DB worker 在 `http://公网IP:5173` 下卡在 `initDB`
在**测试服务器**上部署 Nginx,通过域名 `cms-jack.imharry.work`HTTP `:80` 统一反代 PC Vite dev server、OpenIM API、chat-api 与 MsgGateway WebSocket不启用 HTTPS。
| 路径前缀 | 后端 |
|----------|------|
| `/api/im/` | `127.0.0.1:10002` |
| `/api/user/``/api/chat/` | `127.0.0.1:10008` |
| `/msg_gateway` | `127.0.0.1:10001`WebSocket |
| `/`HTTPS | `127.0.0.1:5173`PC Vite dev server |
| `/` | `127.0.0.1:5173`PC Vite dev server |
1. 服务器上已执行 `05-start.sh` 等,保证 `10001/10002/10008` 在监听。
2. 仓库根目录执行:`sudo ./deploy-test/00-init-tools.sh nginx`(会安装 `nginx` / `openssl`、生成自签名证书,并写入配置 `deploy-test/nginx/openim-pc-proxy.conf`;亦已包含在 `00-init-tools.sh` 无参的 **all** 流程末尾,需 root
3. 云安全组放行 **TCP 80/443**
4. `.env.deploy-test` 中设置 **`PC_BACKEND_ORIGIN=https://<DEPLOY_TEST_IP>`**(无末尾 `/`),与 `DEPLOY_TEST_IP` 一致;再 `./deploy-test/07-start-frontend.sh pc` 启动 PC 时即注入 `VITE_*`
5. 浏览器打开 **`https://<DEPLOY_TEST_IP>/`**(首次访问需接受自签名证书),不要用 `http://<DEPLOY_TEST_IP>:5173/` 排查 OpenIM Web SDK 登录
2. 域名 `cms-jack.imharry.work` 已解析到测试服务器公网 IP
3. 仓库根目录执行:`sudo ./deploy-test/00-init-tools.sh nginx`(会安装 `nginx`,并写入配置 `deploy-test/nginx/openim-pc-proxy.conf`;亦已包含在 `00-init-tools.sh` 无参的 **all** 流程末尾,需 root
4. 云安全组放行 **TCP 80**
5. `.env.deploy-test` 中设置 **`PC_BACKEND_ORIGIN=http://cms-jack.imharry.work`**(无末尾 `/`);再 `./deploy-test/07-start-frontend.sh pc` 启动 PC 时即注入 `VITE_*`
6. 浏览器打开 **`http://cms-jack.imharry.work/`**。
**仅 IP、:80 只做 API不出现 CMS 静态站)**:本配置中 `openim-pc-proxy` 使用 **`listen 80 default_server`**HTTP `GET /` 返回简短说明文本(非 CMSHTTPS `GET /` 代理 PC Vite。`00-init-tools.sh nginx` 会禁用 `sites-enabled/default`,并尝试去掉 `sites-available/default` 里的 `default_server`。若机上还有其它站点也写了 **`default_server`**`nginx -t` 会报错,需在该站点配置中删除 `default_server`(保留 `listen 80;` 即可,用 **域名** 访问 CMS。**CMS 开发**请用 **`http://IP:8001`**UMI)。
**域名访问**:本配置中 `openim-pc-proxy` 使用 `server_name cms-jack.imharry.work`,并监听 `80``GET /` 直接代理 PC Vite。`00-init-tools.sh nginx` 会禁用 `sites-enabled/default`,并尝试去掉 `sites-available/default` 里的 `default_server`,避免默认站点抢占 `:80`。若机上还有其它站点也写了 `default_server``nginx -t` 会报错,需在该站点配置中删除 `default_server`(保留 `listen 80;` 即可)。
### Docker 基础设施