fix: 修复acme.sh安装失败 - 使用正确的安装脚本URL

问题描述:
- 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镜像加速
-  证书申请流程顺利进行
This commit is contained in:
WanWanYun
2025-11-13 12:58:03 +08:00
parent ff8ba91b8d
commit 30de3327e8

View File

@@ -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 "正在下载安装脚本..."