From 30de3327e82b814d827cf6c870caf3579ce339bb Mon Sep 17 00:00:00 2001 From: WanWanYun Date: Thu, 13 Nov 2025 12:58:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dacme.sh=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E5=A4=B1=E8=B4=A5=20-=20=E4=BD=BF=E7=94=A8=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E7=9A=84=E5=AE=89=E8=A3=85=E8=84=9A=E6=9C=ACURL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题描述: - acme.sh安装后目录存在但为空(无acme.sh主脚本文件) - 用户截图显示:~/.acme.sh目录创建但文件未复制 - 导致所有acme.sh方案(Let's Encrypt/ZeroSSL/Buypass)全部失败 根本原因: - 错误的Gitee镜像URL: ❌ https://gitee.com/neilpang/acme.sh/raw/master/acme.sh (主程序文件) ✅ https://get.acme.sh (官方安装脚本) - 直接下载主程序文件acme.sh,然后执行 bash acme.sh --install - 但acme.sh主程序不是安装器,无法自行安装 正确安装流程: - 官方安装脚本 https://get.acme.sh 会自动: 1. 创建 ~/.acme.sh 目录 2. 下载所有必需文件(acme.sh + 依赖) 3. 设置权限和环境变量 修复方案: - 统一使用官方安装脚本URL: https://get.acme.sh - 通过环境变量 ACME_USE_GITEE=1 控制国内镜像加速 - 官方安装脚本会根据此环境变量自动选择Gitee镜像 修复内容: 1. deploy_acme_letsencrypt() - 修复Let's Encrypt方案 2. deploy_acme_zerossl() - 修复ZeroSSL方案 3. deploy_acme_buypass() - 修复Buypass方案 技术细节: - 国内网络:export ACME_USE_GITEE=1 + curl https://get.acme.sh - 海外网络:直接 curl https://get.acme.sh - 安装脚本自动识别环境变量并选择最快镜像 影响范围: - install.sh:1344-1428 (Let's Encrypt) - install.sh:1508-1574 (ZeroSSL) - install.sh:1648-1713 (Buypass) 预期效果: - ✅ acme.sh成功安装并包含所有必需文件 - ✅ 国内网络自动使用Gitee镜像加速 - ✅ 证书申请流程顺利进行 --- install.sh | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index a460730..6faf8b6 100644 --- a/install.sh +++ b/install.sh @@ -1341,18 +1341,21 @@ deploy_acme_letsencrypt() { echo "" print_info "正在安装 acme.sh..." - # 检测网络环境,选择下载源 + # 检测网络环境,配置镜像源 if curl -s --connect-timeout 3 https://www.google.com > /dev/null 2>&1; then # 海外网络 - 使用官方源 print_info "使用官方源安装..." - INSTALL_URL="https://get.acme.sh" + USE_GITEE_MIRROR=false else # 中国大陆 - 使用Gitee镜像 print_info "检测到国内网络,使用Gitee镜像加速..." - INSTALL_URL="https://gitee.com/neilpang/acme.sh/raw/master/acme.sh" export ACME_USE_GITEE=1 + USE_GITEE_MIRROR=true fi + # 官方安装脚本URL(统一使用官方URL,通过环境变量控制镜像) + INSTALL_URL="https://get.acme.sh" + # 改进的安装流程:先下载到临时文件,验证后再执行 TEMP_INSTALL_SCRIPT="/tmp/acme-install-$$.sh" print_info "正在下载安装脚本..." @@ -1502,18 +1505,21 @@ deploy_acme_zerossl() { echo "" print_info "正在安装 acme.sh..." - # 检测网络环境,选择下载源 + # 检测网络环境,配置镜像源 if curl -s --connect-timeout 3 https://www.google.com > /dev/null 2>&1; then # 海外网络 print_info "使用官方源安装..." - INSTALL_URL="https://get.acme.sh" + USE_GITEE_MIRROR=false else # 中国大陆 - 使用Gitee镜像 print_info "检测到国内网络,使用Gitee镜像加速..." - INSTALL_URL="https://gitee.com/neilpang/acme.sh/raw/master/acme.sh" export ACME_USE_GITEE=1 + USE_GITEE_MIRROR=true fi + # 官方安装脚本URL(统一使用官方URL,通过环境变量控制镜像) + INSTALL_URL="https://get.acme.sh" + # 改进的安装流程:先下载到临时文件,验证后再执行 TEMP_INSTALL_SCRIPT="/tmp/acme-install-$$.sh" print_info "正在下载安装脚本..." @@ -1639,18 +1645,21 @@ deploy_acme_buypass() { echo "" print_info "正在安装 acme.sh..." - # 检测网络环境,选择下载源 + # 检测网络环境,配置镜像源 if curl -s --connect-timeout 3 https://www.google.com > /dev/null 2>&1; then # 海外网络 print_info "使用官方源安装..." - INSTALL_URL="https://get.acme.sh" + USE_GITEE_MIRROR=false else # 中国大陆 - 使用Gitee镜像 print_info "检测到国内网络,使用Gitee镜像加速..." - INSTALL_URL="https://gitee.com/neilpang/acme.sh/raw/master/acme.sh" export ACME_USE_GITEE=1 + USE_GITEE_MIRROR=true fi + # 官方安装脚本URL(统一使用官方URL,通过环境变量控制镜像) + INSTALL_URL="https://get.acme.sh" + # 改进的安装流程:先下载到临时文件,验证后再执行 TEMP_INSTALL_SCRIPT="/tmp/acme-install-$$.sh" print_info "正在下载安装脚本..."