skip to content
久木笔记

一键申请 SSL 证书

/ 3 min read

📦 文件说明

acme_3.0.sh:主脚本,用于实现 SSL 证书管理功能。

acme.sh:依赖工具脚本,自动管理 SSL 证书的核心工具。

项目地址:https://github.com/slobys/SSL-Renewal

🛠️ 使用步骤

1. 克隆项目

首先,将本项目克隆到本地:

git clone https://github.com/slobys/SSL-Renewal.git
cd SSL-Renewal

2. 运行主脚本

执行脚本:

bash acme_3.0.sh

3. 主菜单功能

运行脚本后会显示以下菜单:

============== SSL证书管理菜单 ==============
1)申请 SSL 证书
2)重置环境(清除申请记录并重新部署)
3)退出
============================================
请输入选项(1-3):
  • 选项 1:开始申请 SSL 证书。
  • 选项 2:清除现有申请记录并重置环境。
  • 选项 3:退出脚本。

4. 申请 SSL 证书

选择 1)申请 SSL 证书 后,按照提示输入以下信息:

  • 域名:需要申请证书的域名。

  • 电子邮件地址:证书的注册邮箱。

  • 证书颁发机构(CA):

  1. Let’s Encrypt
  2. Buypass
  3. ZeroSSL
  • 防火墙设置:
  1. 是否关闭防火墙。
  2. 是否放行特定端口(如未关闭防火墙)。

系统会自动完成以下步骤:

  1. 检查并安装依赖(如 curl、socat、git 等)。
  2. 根据系统类型(Ubuntu/Debian 或 CentOS)配置防火墙。
  3. 安装 acme.sh 工具(如未安装)。
  4. 注册账户并申请 SSL 证书。
  5. 安装证书到指定路径:
  6. 证书路径:/root/<域名>.crt
  7. 私钥路径:/root/<域名>.key
  8. 创建自动续期任务(通过 crontab)。

5. 重置环境

选择 2)重置环境,可以清除 SSL 申请记录并重新部署。

📄 自动续期

脚本会自动创建续期任务,使用 crontab 定期运行:

  • 续期脚本路径:/root/renew_cert.sh
  • 任务周期:每天 0:00 自动检查并续期。

🌟 注意事项

  1. 确保正确配置域名的 DNS 解析。
  2. 如果使用防火墙,需根据提示放行 80 或 443 端口。
  3. 脚本支持 Let’s Encrypt、Buypass 和 ZeroSSL 三种证书颁发机构,用户可根据需求选择。
  4. 适用于 Ubuntu、Debian 和 CentOS 系统,其他系统需手动安装必要依赖。