fix(distribution): 修正分销后台入口地址并收口主站后台隐藏路径
- 新增前端 distributionAdmin 工具:优先 VITE_DISTRIBUTION_ADMIN_URL, 本地开发回退 5190,生产按 distribution.<主站域名> 推导 - 替换主站后台「打开独立分销后台」按钮与开通凭证中硬编码的 :5190 - 分销后台复制凭证改用 window.location.origin,去掉硬编码 http - Caddyfile 中 /manage-7x9k2p 仅主站域名放行,分站域名统一 404 - 构建/部署链路透传 VITE_DISTRIBUTION_ADMIN_URL 与 ADMIN_BASE_PATH
This commit is contained in:
@@ -63,6 +63,13 @@
|
||||
|
||||
import public_api
|
||||
|
||||
# 主站后台隐藏入口:storefront 片段同时服务主站和所有分销站点域名,
|
||||
# 这里统一 404,仅主站域名在下方主站 block 用 @main_admin 放行。
|
||||
@platform_admin path {$ADMIN_BASE_PATH:/manage-7x9k2p} {$ADMIN_BASE_PATH:/manage-7x9k2p}/*
|
||||
handle @platform_admin {
|
||||
respond 404
|
||||
}
|
||||
|
||||
# 生产后台页面使用构建时配置的隐藏入口,旧 /admin 入口直接返回 404。
|
||||
@legacy_admin path /admin /admin/*
|
||||
handle @legacy_admin {
|
||||
@@ -80,6 +87,14 @@
|
||||
# 主站与过渡子域名共享同一套配置:域名迁移期间新旧域名同时可访问,
|
||||
# 避免 DNS 缓存未生效导致部分用户打不开。迁移完成后可移除 h5.{$CADDY_DOMAIN}。
|
||||
{$CADDY_DOMAIN}, h5.{$CADDY_DOMAIN} {
|
||||
# 主站后台隐藏入口只在本域名提供静态资源;分销站点域名由 storefront 片段统一 404。
|
||||
@main_admin path {$ADMIN_BASE_PATH:/manage-7x9k2p} {$ADMIN_BASE_PATH:/manage-7x9k2p}/*
|
||||
handle @main_admin {
|
||||
root * /srv/dist
|
||||
try_files {path} /index.html
|
||||
file_server
|
||||
}
|
||||
|
||||
import storefront
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,10 @@ FROM node:24-alpine AS build
|
||||
|
||||
ARG VITE_ADMIN_BASE_PATH=/manage-7x9k2p
|
||||
ENV VITE_ADMIN_BASE_PATH=${VITE_ADMIN_BASE_PATH}
|
||||
# 主站后台里「打开独立分销后台」按钮与开通凭证使用的分销后台地址。
|
||||
# 留空时前端按 distribution.<当前主站域名> 推导,显式配置可覆盖(如独立后台子域改名)。
|
||||
ARG VITE_DISTRIBUTION_ADMIN_URL=
|
||||
ENV VITE_DISTRIBUTION_ADMIN_URL=${VITE_DISTRIBUTION_ADMIN_URL}
|
||||
|
||||
WORKDIR /src
|
||||
COPY frontend/package*.json ./
|
||||
|
||||
@@ -5,11 +5,15 @@ services:
|
||||
dockerfile: deploy/caddy/Dockerfile
|
||||
args:
|
||||
VITE_ADMIN_BASE_PATH: ${VITE_ADMIN_BASE_PATH:-/manage-7x9k2p}
|
||||
# 留空时前端按 distribution.<CADDY_DOMAIN> 推导,与 Caddyfile 的站点规则保持一致。
|
||||
VITE_DISTRIBUTION_ADMIN_URL: ${VITE_DISTRIBUTION_ADMIN_URL:-}
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TZ: Asia/Shanghai
|
||||
CADDY_DOMAIN: ${CADDY_DOMAIN:?请先导出 CADDY_DOMAIN,或使用 scripts/deploy-prod.sh 部署}
|
||||
CADDY_EMAIL: ${CADDY_EMAIL:?请先导出 CADDY_EMAIL,或使用 scripts/deploy-prod.sh 部署}
|
||||
# Caddyfile 用它放行主站后台隐藏入口,并与前端构建期的 VITE_ADMIN_BASE_PATH 保持一致。
|
||||
ADMIN_BASE_PATH: ${VITE_ADMIN_BASE_PATH:-/manage-7x9k2p}
|
||||
# 选号网域名可选;未配置时 conf.d 为空,不影响主站
|
||||
CADDY_SHOW_DOMAIN: ${CADDY_SHOW_DOMAIN:-}
|
||||
ports:
|
||||
|
||||
Reference in New Issue
Block a user