acme.sh 项目教程
1. 项目的目录结构及介绍
acme.sh 项目的目录结构相对简单,主要包含以下几个部分:
- acme.sh: 主脚本文件,实现了 ACME 客户端协议的核心功能。
- deploy: 包含各种部署脚本,用于将生成的证书部署到不同的服务器和应用中。
- dnsapi: 包含各种 DNS API 脚本,用于自动完成 DNS 验证。
- example: 包含一些示例配置文件和脚本,供用户参考。
- notify: 包含通知相关的脚本,用于在证书更新或失败时发送通知。
acme.sh/
├── acme.sh
├── deploy/
│ ├── apache.sh
│ ├── nginx.sh
│ └── ...
├── dnsapi/
│ ├── dns_aws.sh
│ ├── dns_cf.sh
│ └── ...
├── example/
│ ├── apache.conf
│ ├── nginx.conf
│ └── ...
├── notify/
│ ├── notify.sh
│ └── ...
└── ...
2. 项目的启动文件介绍
acme.sh 项目的启动文件是 acme.sh
脚本。该脚本实现了 ACME 客户端协议的核心功能,包括证书的申请、更新和吊销等操作。用户可以通过命令行调用该脚本来执行各种操作。
./acme.sh --issue -d example.com -d www.example.com
上述命令用于为 example.com
和 www.example.com
申请证书。
3. 项目的配置文件介绍
acme.sh 项目的配置文件主要存储在用户的主目录下的 .acme.sh
文件夹中。该文件夹包含以下几个重要的配置文件:
- account.conf: 存储账户信息,包括注册邮箱和账户密钥等。
- domain.conf: 存储每个域名的配置信息,包括域名列表、证书路径和部署脚本等。
- dnsapi.conf: 存储 DNS API 的配置信息,用于自动完成 DNS 验证。
~/.acme.sh/
├── account.conf
├── domain.conf
├── dnsapi.conf
└── ...
用户可以通过编辑这些配置文件来自定义 acme.sh 的行为。例如,修改 account.conf
文件中的邮箱地址:
nano ~/.acme.sh/account.conf
在文件中找到 ACCOUNT_EMAIL
并修改为新的邮箱地址:
ACCOUNT_EMAIL="new_email@example.com"
保存并退出编辑器,acme.sh 将使用新的邮箱地址进行后续操作。