acme.sh
以 root 用户为例
在线安装
# curl https://get.acme.sh | sh
安装过程:
root 目录下生成 .acme.sh 文件夹,查看文件夹内容:ls ~/.acme.sh/;
看到root目录下.bashrc文件,最后一行应该已自动添加 bash alias:
# ~/.bashrc 添加:
. "/root/.acme.sh/acme.sh.env"
# acme.sh.env 内容:
alias acme.sh="/root/.acme.sh/acme.sh"
记得执行命令:
source ~/.bashrc
自动添加定时任务(时间随机):
# 每天凌晨检查证书的有效期,如有需要,自动续签。
30 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
相关命令
# 查看帮助
acme.sh -h
# 查看列表
acme.sh --list
# 卸载 acme.sh
# 编辑 ~/.bashrc,删除 acme.sh alias
acme.sh --uninstall
脚本更新
# 自动更新:
acme.sh --upgrade --auto-upgrade
# 手动更新:
acme.sh --upgrade
# 关闭更新:
acme.sh --upgrade --auto-upgrade 0
证书申请
DNS
优势:不需要服务器与公网 ip,只要配置 DNS 解析即可。
不足:必须配置 Automatic DNS API 才可以自动续签。
步骤:
生成相应的解析记录
# acme.sh --issue --dns -d www.domain.com --yes-I-know-dns-manual-mode-enough-go-ahead-please
查询域名 txt 记录
# nslookup -type=txt _acme-challenge.domain.com
解析生效后,重新生成证书(注:确实是 renew)
# acme.sh --renew -d www.domain.com --yes-I-know-dns-manual-mode-enough-go-ahead-please
证书配置
生成的证书都在目录下: ~/.acme.sh/
导出证书
使用 –install-cert 命令
# acme.sh --install-cert -d shxh.club --key-file /etc/nginx/ssl/www.domain.com.key --fullchain-file /etc/nginx/ssl/fullchain.cer
强制续签证书:
# acme.sh --renew -d www.domain.com --force