diff --git a/docker/cert.sh b/docker/cert.sh index d39bf799..458e56cd 100644 --- a/docker/cert.sh +++ b/docker/cert.sh @@ -19,11 +19,9 @@ function WARN() { } # 核心条件验证 -if [ "$ENABLE_SSL" = "true" ] && \ - [ "$AUTO_ISSUE_CERT" = "true" ] && \ - [ -n "$SSL_DOMAIN" ]; then - - INFO "▄■▀▄■▀▄■▀▄■▀▄■▀ 证书管理开始 ▀■▄▀■▄▀■▄▀■▄▀■▄" +if [ "${ENABLE_SSL}" = "true" ] && \ + [ "${AUTO_ISSUE_CERT}" = "true" ] && \ + [ -n "${SSL_DOMAIN}" ]; then # 创建证书目录 mkdir -p /config/certs/"${SSL_DOMAIN}" @@ -42,8 +40,8 @@ if [ "$ENABLE_SSL" = "true" ] && \ ) # 添加邮箱参数(如果设置) - if [ -n "$SSL_EMAIL" ]; then - INSTALL_ARGS+=("--accountemail" "$SSL_EMAIL") + if [ -n "${SSL_EMAIL}" ]; then + INSTALL_ARGS+=("--accountemail" "${SSL_EMAIL}") else WARN "未设置SSL_EMAIL,建议配置邮箱用于证书过期提醒" fi @@ -98,8 +96,6 @@ if [ "$ENABLE_SSL" = "true" ] && \ chmod 644 /etc/cron.d/acme service cron start - INFO "▄■▀▄■▀▄■▀▄■▀▄■▀ 证书管理完成 ▀■▄▀■▄▀■▄▀■▄▀■▄" - -elif [ "$ENABLE_SSL" = "true" ] && [ "$AUTO_ISSUE_CERT" = "true" ] && [ -z "$SSL_DOMAIN" ]; then +elif [ "${ENABLE_SSL}" = "true" ] && [ "${AUTO_ISSUE_CERT}" = "true" ] && [ -z "${SSL_DOMAIN}" ]; then WARN "已启用自动签发证书但未设置SSL_DOMAIN,跳过证书管理" fi \ No newline at end of file diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 9669ced6..b04e635c 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -21,7 +21,7 @@ function WARN() { } # 生成HTTPS配置块 -if [ "$ENABLE_SSL" = "true" ]; then +if [ "${ENABLE_SSL}" = "true" ]; then export HTTPS_SERVER_CONF=$(cat < /etc/nginx/nginx.conf +envsubst '${NGINX_PORT}${PORT}${NGINX_CLIENT_MAX_BODY_SIZE}${ENABLE_SSL}${HTTPS_SERVER_CONF}' < /etc/nginx/nginx.template.conf > /etc/nginx/nginx.conf # 自动更新 cd / source /usr/local/bin/mp_update.sh diff --git a/docker/nginx.template.conf b/docker/nginx.template.conf index b318ec15..7577f2af 100644 --- a/docker/nginx.template.conf +++ b/docker/nginx.template.conf @@ -34,6 +34,11 @@ http { listen [::]:${NGINX_PORT}; server_name moviepilot; + # HTTPS重定向 + if (${ENABLE_SSL} = 'true') { + return 301 https://$host$request_uri; + } + # 公共配置 include common.conf; } diff --git a/docker/update.sh b/docker/update.sh index c4af7e35..e53bda74 100644 --- a/docker/update.sh +++ b/docker/update.sh @@ -264,7 +264,6 @@ function get_priority() { } if [[ "${MOVIEPILOT_AUTO_UPDATE}" = "true" ]] || [[ "${MOVIEPILOT_AUTO_UPDATE}" = "release" ]] || [[ "${MOVIEPILOT_AUTO_UPDATE}" = "dev" ]]; then - INFO "▄■▀▄■▀▄■▀▄■▀▄■▀ 自动更新开始 ▀■▄▀■▄▀■▄▀■▄▀■▄" TMP_PATH=$(mktemp -d) if [ ! -d "${TMP_PATH}" ]; then # 如果自动生成 tmp 文件夹失败则手动指定,避免出现数据丢失等情况 @@ -326,7 +325,6 @@ if [[ "${MOVIEPILOT_AUTO_UPDATE}" = "true" ]] || [[ "${MOVIEPILOT_AUTO_UPDATE}" if [ -d "${TMP_PATH}" ]; then rm -rf "${TMP_PATH}" fi - INFO "▄■▀▄■▀▄■▀▄■▀▄■▀ 自动更新完成 ▀■▄▀■▄▀■▄▀■▄▀■▄" elif [[ "${MOVIEPILOT_AUTO_UPDATE}" = "false" ]]; then INFO "程序自动升级已关闭,如需自动升级请在创建容器时设置环境变量:MOVIEPILOT_AUTO_UPDATE=release" else