This commit is contained in:
vet
2026-04-13 23:53:29 +07:00
parent d868057b7e
commit 5d335aa15e
3 changed files with 23 additions and 2 deletions

View File

@@ -286,6 +286,14 @@ _install_pc_nginx_proxy() {
rm -f /etc/nginx/sites-enabled/default
info " 已移除 sites-enabled/default避免与 openim-pc-proxy 冲突"
fi
# 保留 sites-available/default 文件时,去掉 default_server防止日后误启用再次抢占 :80
if [[ -f /etc/nginx/sites-available/default ]]; then
sed -i.bak-openim \
-e 's/listen \[::\]:80 default_server;/listen [::]:80;/g' \
-e 's/listen 80 default_server;/listen 80;/g' \
/etc/nginx/sites-available/default 2>/dev/null || true
info " 已去除 sites-available/default 中的 default_server若存在"
fi
else
install -m 0644 "$conf_src" "/etc/nginx/conf.d/${conf_name}"
fi
@@ -296,6 +304,7 @@ _install_pc_nginx_proxy() {
success " Nginx 反代已启用(配置: $conf_src"
info " 请放行 TCP 80curl -sS http://127.0.0.1/nginx-health 应返回 ok"
info " 纯 IP 访问 :80 为 API 网关;若 nginx -t 报 duplicate default_server请从其它站点配置中去掉 default_server"
info " .env.deploy-test 中 PC_BACKEND_ORIGIN=http://<公网IP>(与 DEPLOY_TEST_IP 一致)"
}

View File

@@ -298,6 +298,8 @@ TENCENT_SDK_SECRET_KEY=xxx
3. 云安全组放行 **TCP 80**
4. `.env.deploy-test` 中设置 **`PC_BACKEND_ORIGIN=http://<DEPLOY_TEST_IP>`**(无末尾 `/`),与 `DEPLOY_TEST_IP` 一致;再 `./deploy-test/07-start-frontend.sh pc` 启动 PC 时即注入 `VITE_*`
**仅 IP、:80 只做 API不出现 CMS 静态站)**:本配置中 `openim-pc-proxy` 使用 **`listen 80 default_server`**`GET /` 返回简短说明文本(非 CMS`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
### Docker 基础设施
| 服务 | 端口 |

View File

@@ -7,14 +7,24 @@
# 安全组 / 防火墙须放行 TCP 80后端 10001/10002/10008 仅需本机访问127.0.0.1
#
# CORSVite 开发服在 :5173API 经 :80 反代,浏览器视为跨域,需在此返回允许头并处理 OPTIONS 预检
#
# default_server纯 IP 访问 http://x.x.x.x/ 时命中本 server不做 CMS 静态站,仅 API 网关)
# CMS 开发请用 http://IP:8001UMI dev
server {
listen 80;
listen [::]:80;
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
client_max_body_size 100m;
# 根路径:不托管前端;避免与其它站点抢 default_server 后仍误以为是 CMS
location = / {
default_type text/plain;
charset utf-8;
return 200 "OpenIM API gateway (deploy-test). Paths: /api/im/ /api/user/ /api/chat/ /msg_gateway — CMS dev: :8001\n";
}
# OpenIM HTTP API → openim-server :10002
location /api/im/ {
if ($request_method = OPTIONS) {