Files
aigc-frontend/entrypoint.sh

34 lines
984 B
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# 优先使用环境变量 API_TARGET否则从构建时提取的文件读取 VITE_BASE_API
API_TARGET=${API_TARGET:-""}
if [ -z "$API_TARGET" ] && [ -f /etc/nginx/.api_target ]; then
API_TARGET=$(cat /etc/nginx/.api_target | tr -d '\r')
fi
CONF_FILE="/etc/nginx/conf.d/default.conf"
if [ -n "$API_TARGET" ]; then
# 提取路径部分(去掉协议和域名)
API_NO_PROTO=$(echo "$API_TARGET" | sed 's|^https\?://||')
API_PATH=$(echo "$API_NO_PROTO" | sed 's|^[^/]*||')
# 如果路径为空,默认 /api
if [ -z "$API_PATH" ] || [ "$API_PATH" = "/" ]; then
API_PATH="/api"
fi
# 确保 proxy_pass 末尾有 /
API_TARGET_SLASH="${API_TARGET%/}/"
# 替换 nginx 配置占位符
sed -i "s|@@API_LOCATION@@|${API_PATH}/|g" "$CONF_FILE"
sed -i "s|@@API_TARGET@@|${API_TARGET_SLASH}|g" "$CONF_FILE"
else
# 没有 API 目标,移除代理配置块
sed -i '/# BEGIN_API_PROXY/,/# END_API_PROXY/d' "$CONF_FILE"
fi
nginx -g "daemon off;"