fix: update.sh 迁移A-nginx拦截注册+兼容现有部署端口+非交互拉镜像

这个提交包含在:
xuqinmin12 2026-06-12 22:43:24 +08:00
父节点 896ddab194
当前提交 7abf1e1f26

查看文件

@ -504,6 +504,33 @@ if ! $_COMPOSE ps --services --filter status=running 2>/dev/null | grep -q "^ngi
ok "nginx 已启动" ok "nginx 已启动"
fi fi
# ---------------------------------------------------------------------------
# 迁移 A — 私有化 nginx 禁止用户自注册
# upgrade.sh 会用新包覆盖 nginx conf,update.sh 单独运行时需手动注入
# ---------------------------------------------------------------------------
_nginx_conf="$ROOT_DIR/config/nginx/conf.d/xuqm.conf"
if [ -f "$_nginx_conf" ] && ! grep -q 'api/auth/register' "$_nginx_conf"; then
python3 - "$_nginx_conf" <<\'PYEOF\'
import re, sys
content = open(sys.argv[1]).read()
block = """ # 私有化部署:精确拦截用户自注册(必须在通用 /api/ 之前)
location = /api/auth/register {
add_header Content-Type \'application/json; charset=utf-8\' always;
return 403 \'{"code":403,"status":"1","data":null,"message":"私有化部署已禁用用户自注册"}\';
}
"""
content = re.sub(r"( # 核心 API)", block + r"\1", content, count=1)
open(sys.argv[1], \'w\').write(content)
PYEOF
ok "nginx conf 已补充用户注册拦截规则"
# 重载 nginx 容器使配置生效
docker exec xuqm-private-nginx-1 nginx -s reload 2>/dev/null && ok "nginx 已 reload" || warn "nginx reload 失败,将在容器重启后生效"
else
ok "nginx 用户注册拦截规则已存在,跳过"
fi
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Step 7 — 等待 tenant-service 健康 # Step 7 — 等待 tenant-service 健康
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------