小程序微信后台和代理后台使用同一个域名
This commit is contained in:
@@ -3,122 +3,60 @@ set -e
|
||||
|
||||
# ============================================
|
||||
# DLWEB 服务启动入口脚本
|
||||
# 在 Apache 启动前替换静态 JS/HTML 文件中的硬编码域名
|
||||
# 生成 env-config.js,为前端页面注入环境变量
|
||||
# ============================================
|
||||
|
||||
echo "[entrypoint] Replacing hardcoded domains in JS/HTML files..."
|
||||
echo "[entrypoint] Generating env-config.js from environment variables..."
|
||||
|
||||
# 从 ROOT_DOMAIN 推导子域名(docker-compose.yml 通常已注入,这里仅作容器外单跑的兜底)
|
||||
_ROOT="${ROOT_DOMAIN:-daoqijuyou77.cn}"
|
||||
|
||||
# 从环境变量读取,提供默认值
|
||||
# DLWEB_API_BASE_URL 和 DLWEB_SDK_API_URL 从 API_DOMAIN / DLWEB_DOMAIN 自动推导
|
||||
DLWEB_API_BASE_URL="https://${DLWEB_DOMAIN:-dlapi.${_ROOT}}"
|
||||
DLWEB_SETTLE_URL="${DLWEB_SETTLE_URL:-http://dlsettle.daoqijuyou77.cn/mobile/}"
|
||||
DLWEB_AVATAR_URL="${DLWEB_AVATAR_URL:-https://dlwebv3.tscce.cn/images/noavatar.png}"
|
||||
DLWEB_SETTLE_URL="${DLWEB_SETTLE_URL:-http://dlsettle.${_ROOT}/mobile/}"
|
||||
DLWEB_AVATAR_URL="${DLWEB_AVATAR_URL:-https://dlwebv3.${_ROOT}/images/noavatar.png}"
|
||||
DLWEB_SDK_API_URL="https://${API_DOMAIN:-api.${_ROOT}}"
|
||||
DLWEB_SDK_API2_URL="${DLWEB_SDK_API2_URL:-https://api2.tscce.cn}"
|
||||
DLWEB_PROXY_URL="${DLWEB_PROXY_URL:-https://proxytest.tscce.cn}"
|
||||
DLWEB_SDK_API2_URL="${DLWEB_SDK_API2_URL:-https://api2.${_ROOT}}"
|
||||
DLWEB_PROXY_URL="${DLWEB_PROXY_URL:-https://proxytest.${_ROOT}}"
|
||||
DLWEB_DL_API_V3_URL="${DLWEB_DL_API_V3_URL:-https://dlapi.${_ROOT}}"
|
||||
DLWEB_WEB_DOMAIN="${DLWEB_WEB_DOMAIN:-https://dlwebv3.tscce.cn}"
|
||||
DLWEB_SETTLE_FULL_URL="${DLWEB_SETTLE_FULL_URL:-http://dlsettle.tscce.cn}"
|
||||
DLWEB_OPERATE_URL="${DLWEB_OPERATE_URL:-https://operate.daoqijuyou77.cn}"
|
||||
DLWEB_PROXY_77_URL="${DLWEB_PROXY_77_URL:-https://proxytest.daoqijuyou77.cn}"
|
||||
SITE_GAME_SERVICE_URL="${SITE_GAME_SERVICE_URL:-http://ylyxservice1.daoqijuyou77.cn:1089/index.html}"
|
||||
DLWEB_DOWNLOAD_CDN_URL="${DLWEB_DOWNLOAD_CDN_URL:-http://tsqiniu1.tscce.cn}"
|
||||
DLWEB_GAME_IMAGE_URL="${DLWEB_GAME_IMAGE_URL:-http://tsgames.daoqijuyou77.cn}"
|
||||
DLWEB_SKYGAMES_URL="${DLWEB_SKYGAMES_URL:-https://skygames.tscce.cn}"
|
||||
DLWEB_WEB_DOMAIN="${DLWEB_WEB_DOMAIN:-https://dlwebv3.${_ROOT}}"
|
||||
DLWEB_SETTLE_FULL_URL="${DLWEB_SETTLE_FULL_URL:-http://dlsettle.${_ROOT}}"
|
||||
DLWEB_OPERATE_URL="${DLWEB_OPERATE_URL:-https://operate.${_ROOT}}"
|
||||
DLWEB_PROXY_77_URL="${DLWEB_PROXY_77_URL:-https://proxytest.${_ROOT}}"
|
||||
SITE_GAME_SERVICE_URL="${SITE_GAME_SERVICE_URL:-http://ylyxservice1.${_ROOT}:1089/index.html}"
|
||||
DLWEB_DOWNLOAD_CDN_URL="${DLWEB_DOWNLOAD_CDN_URL:-http://tsqiniu1.${_ROOT}}"
|
||||
DLWEB_GAME_IMAGE_URL="${DLWEB_GAME_IMAGE_URL:-http://tsgames.${_ROOT}}"
|
||||
DLWEB_SKYGAMES_URL="${DLWEB_SKYGAMES_URL:-https://skygames.${_ROOT}}"
|
||||
|
||||
JS_DIR="/var/www/html/api/web2/js"
|
||||
COMP_DIR="/var/www/html/api/web2/components"
|
||||
HTML_DIR="/var/www/html/api/web2"
|
||||
# ---- 生成 env-config.js(替代所有 sed 替换操作) ----
|
||||
ENV_CONFIG="/var/www/html/api/web2/js/env-config.js"
|
||||
cat > "$ENV_CONFIG" <<EOF
|
||||
/**
|
||||
* 环境配置文件 —— 由 docker-entrypoint.sh 自动生成
|
||||
* 请勿手动编辑此文件,修改 .env 后重建容器即可
|
||||
*/
|
||||
;(function() {
|
||||
window.__ENV__ = {
|
||||
ROOT_DOMAIN: '${_ROOT}',
|
||||
DLWEB_API_BASE_URL: '${DLWEB_API_BASE_URL}',
|
||||
SDK_API_URL: '${DLWEB_SDK_API_URL}',
|
||||
SDK_API2_URL: '${DLWEB_SDK_API2_URL}',
|
||||
SETTLE_URL: '${DLWEB_SETTLE_URL}',
|
||||
SETTLE_FULL_URL: '${DLWEB_SETTLE_FULL_URL}',
|
||||
PROXY_URL: '${DLWEB_PROXY_URL}',
|
||||
PROXY_77_URL: '${DLWEB_PROXY_77_URL}',
|
||||
OPERATE_URL: '${DLWEB_OPERATE_URL}',
|
||||
AVATAR_URL: '${DLWEB_AVATAR_URL}',
|
||||
DOWNLOAD_CDN_URL: '${DLWEB_DOWNLOAD_CDN_URL}',
|
||||
GAME_IMAGE_URL: '${DLWEB_GAME_IMAGE_URL}',
|
||||
SKYGAMES_URL: '${DLWEB_SKYGAMES_URL}',
|
||||
GAME_SERVICE_URL: '${SITE_GAME_SERVICE_URL}'
|
||||
};
|
||||
})();
|
||||
EOF
|
||||
|
||||
# ---- function.js ----
|
||||
FUNC_JS="$JS_DIR/function.js"
|
||||
if [ -f "$FUNC_JS" ]; then
|
||||
# API URL 和 回调地址
|
||||
sed -i "s|'https://dlapi.daoqijuyou77.cn/Index.php'|'${DLWEB_API_BASE_URL}/Index.php'|g" "$FUNC_JS"
|
||||
sed -i "s|'https://dlapi.daoqijuyou77.cn/web2/notify.html'|'${DLWEB_API_BASE_URL}/web2/notify.html'|g" "$FUNC_JS"
|
||||
# 结算地址
|
||||
sed -i "s|'http://dlsettle.daoqijuyou77.cn/mobile/'|'${DLWEB_SETTLE_URL}'|g" "$FUNC_JS"
|
||||
sed -i "s|'http://dlsettle.tscce.cn/mobile/'|'${DLWEB_SETTLE_URL}'|g" "$FUNC_JS"
|
||||
sed -i "s|'https://proxytest.tscce.cn/settle/mobile/'|'${DLWEB_PROXY_URL}/settle/mobile/'|g" "$FUNC_JS"
|
||||
# 头像,SDK API 地址
|
||||
sed -i "s|https://dlwebv3.tscce.cn/images/noavatar.png|${DLWEB_AVATAR_URL}|g" "$FUNC_JS"
|
||||
sed -i "s|https://api.daoqijuyou77.cn/source/login/login.php|${DLWEB_SDK_API_URL}/source/login/login.php|g" "$FUNC_JS"
|
||||
sed -i "s|https://api.daoqijuyou77.cn/api/user|${DLWEB_SDK_API_URL}/api/user|g" "$FUNC_JS"
|
||||
sed -i "s|https://api.daoqijuyou77.cn/source/pay/pay.php|${DLWEB_SDK_API_URL}/source/pay/pay.php|g" "$FUNC_JS"
|
||||
sed -i "s|https://api.daoqijuyou77.cn/source/pay/notify.php|${DLWEB_SDK_API_URL}/source/pay/notify.php|g" "$FUNC_JS"
|
||||
sed -i "s|https://api.daoqijuyou77.cn/api/weixin/wx_share_info|${DLWEB_SDK_API_URL}/api/weixin/wx_share_info|g" "$FUNC_JS"
|
||||
sed -i "s|https://api.daoqijuyou77.cn/api/login/ylnn|${DLWEB_SDK_API_URL}/api/login/ylnn|g" "$FUNC_JS"
|
||||
echo "[entrypoint] Updated: $FUNC_JS"
|
||||
fi
|
||||
|
||||
# ---- function-a.js ----
|
||||
FUNC_A_JS="$JS_DIR/function-a.js"
|
||||
if [ -f "$FUNC_A_JS" ]; then
|
||||
sed -i "s|'https://dlapi.daoqijuyou77.cn/Index.php'|'${DLWEB_API_BASE_URL}/Index.php'|g" "$FUNC_A_JS"
|
||||
sed -i "s|'https://dlapi.daoqijuyou77.cn/web2/notify.html'|'${DLWEB_API_BASE_URL}/web2/notify.html'|g" "$FUNC_A_JS"
|
||||
sed -i "s|https://dlwebv3.tscce.cn/images/noavatar.png|${DLWEB_AVATAR_URL}|g" "$FUNC_A_JS"
|
||||
sed -i "s|https://api2.tscce.cn/source/login/login.php|${DLWEB_SDK_API2_URL}/source/login/login.php|g" "$FUNC_A_JS"
|
||||
sed -i "s|https://api2.tscce.cn/api/user|${DLWEB_SDK_API2_URL}/api/user|g" "$FUNC_A_JS"
|
||||
sed -i "s|https://api2.tscce.cn/source/pay/pay_1.php|${DLWEB_SDK_API2_URL}/source/pay/pay_1.php|g" "$FUNC_A_JS"
|
||||
sed -i "s|https://api2.tscce.cn/source/pay/notify.php|${DLWEB_SDK_API2_URL}/source/pay/notify.php|g" "$FUNC_A_JS"
|
||||
sed -i "s|https://api2.tscce.cn/api/weixin/wx_share_info|${DLWEB_SDK_API2_URL}/api/weixin/wx_share_info|g" "$FUNC_A_JS"
|
||||
sed -i "s|https://api2.tscce.cn/api/login/ylnn|${DLWEB_SDK_API2_URL}/api/login/ylnn|g" "$FUNC_A_JS"
|
||||
echo "[entrypoint] Updated: $FUNC_A_JS"
|
||||
fi
|
||||
|
||||
# ---- tangjian.js ----
|
||||
TJ_JS="$JS_DIR/tangjian.js"
|
||||
if [ -f "$TJ_JS" ]; then
|
||||
sed -i "s|'https://proxytest.tscce.cn/api/Index.php'|'${DLWEB_PROXY_URL}/api/Index.php'|g" "$TJ_JS"
|
||||
sed -i "s|'https://dlapiv3.tscce.cn/Index.php'|'${DLWEB_DL_API_V3_URL}/Index.php'|g" "$TJ_JS"
|
||||
echo "[entrypoint] Updated: $TJ_JS"
|
||||
fi
|
||||
|
||||
# ---- public_method.js ----
|
||||
PM_JS="$JS_DIR/public_method.js"
|
||||
if [ -f "$PM_JS" ]; then
|
||||
sed -i "s|http://ylyxservice1.daoqijuyou77.cn:1089/index.html|${SITE_GAME_SERVICE_URL}|g" "$PM_JS"
|
||||
echo "[entrypoint] Updated: $PM_JS"
|
||||
fi
|
||||
|
||||
# ---- common_mixin.js ----
|
||||
CM_JS="$COMP_DIR/common_mixin.js"
|
||||
if [ -f "$CM_JS" ]; then
|
||||
sed -i "s|https://dlwebv3.tscce.cn/images/noavatar.png|${DLWEB_AVATAR_URL}|g" "$CM_JS"
|
||||
echo "[entrypoint] Updated: $CM_JS"
|
||||
fi
|
||||
|
||||
# ---- HTML 文件 ----
|
||||
# links.html
|
||||
LINKS_HTML="$HTML_DIR/links.html"
|
||||
if [ -f "$LINKS_HTML" ]; then
|
||||
sed -i "s|https://dlapi.daoqijuyou77.cn|${DLWEB_API_BASE_URL}|g" "$LINKS_HTML"
|
||||
sed -i "s|https://operate.daoqijuyou77.cn|${DLWEB_OPERATE_URL}|g" "$LINKS_HTML"
|
||||
sed -i "s|https://proxytest.daoqijuyou77.cn|${DLWEB_PROXY_77_URL}|g" "$LINKS_HTML"
|
||||
echo "[entrypoint] Updated: $LINKS_HTML"
|
||||
fi
|
||||
|
||||
# download.html
|
||||
DOWNLOAD_HTML="$HTML_DIR/download.html"
|
||||
if [ -f "$DOWNLOAD_HTML" ]; then
|
||||
sed -i "s|http://tsgames.daoqijuyou77.cn|${DLWEB_GAME_IMAGE_URL}|g" "$DOWNLOAD_HTML"
|
||||
sed -i "s|http://tsqiniu1.tscce.cn|${DLWEB_DOWNLOAD_CDN_URL}|g" "$DOWNLOAD_HTML"
|
||||
sed -i "s|https://skygames.tscce.cn|${DLWEB_SKYGAMES_URL}|g" "$DOWNLOAD_HTML"
|
||||
echo "[entrypoint] Updated: $DOWNLOAD_HTML"
|
||||
fi
|
||||
|
||||
# agent_list_admin.html
|
||||
ADMIN_HTML="$HTML_DIR/agent_list_admin.html"
|
||||
if [ -f "$ADMIN_HTML" ]; then
|
||||
sed -i "s|http://proxytest.tscce.cn/settle/managebak|${DLWEB_PROXY_URL}/settle/managebak|g" "$ADMIN_HTML"
|
||||
sed -i "s|http://dlsettle.tscce.cn/managebak|${DLWEB_SETTLE_FULL_URL}/managebak|g" "$ADMIN_HTML"
|
||||
echo "[entrypoint] Updated: $ADMIN_HTML"
|
||||
fi
|
||||
|
||||
echo "[entrypoint] Domain replacement complete. Starting Apache..."
|
||||
echo "[entrypoint] Generated: $ENV_CONFIG"
|
||||
echo "[entrypoint] Domain configuration complete. Starting Apache..."
|
||||
|
||||
# 启动 Apache(前台运行)
|
||||
exec apache2-foreground
|
||||
|
||||
@@ -32,7 +32,8 @@ upstream wxserver_service {
|
||||
# - 业务域名: ${API_DOMAIN}
|
||||
# (验证文件在 api/ 根目录)
|
||||
# - JS接口安全域名: ${API_DOMAIN}
|
||||
# - 网页授权域名: ${WX_DOMAIN}
|
||||
# - 网页授权域名: ${API_DOMAIN} ← api 与 wxserver 共用此域名
|
||||
# wxserver OAuth 回调走 https://${API_DOMAIN}/wx/auth/oa/callback
|
||||
#
|
||||
# 【微信支付后台】(pay.weixin.qq.com)
|
||||
# - 支付授权目录: https://${DLWEB_DOMAIN}/
|
||||
@@ -97,7 +98,7 @@ server {
|
||||
}
|
||||
}
|
||||
|
||||
# ===== 网站1: 游戏核心 API (公众号后台) =====
|
||||
# ===== 网站1: 游戏核心 API (公众号后台) + wxserver OAuth 回调 =====
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
@@ -107,6 +108,18 @@ server {
|
||||
ssl_certificate_key /etc/letsencrypt/live/${API_DOMAIN}/privkey.pem;
|
||||
include /etc/nginx/snippets/ssl-params.conf;
|
||||
|
||||
# wxserver 路由:/wx/ 前缀转发给 wxserver 容器,自动去除 /wx 前缀
|
||||
# 例:/wx/auth/oa/callback → wxserver:/auth/oa/callback
|
||||
location /wx/ {
|
||||
proxy_pass http://wxserver_service/;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Port $server_port;
|
||||
}
|
||||
|
||||
# PHP API(所有其他请求)
|
||||
location / {
|
||||
proxy_pass http://api_service;
|
||||
proxy_set_header Host $host;
|
||||
|
||||
Reference in New Issue
Block a user