Let’s Encrypt 证书申请及配置

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

留下评论

电子邮件地址不会被公开。 必填项已用*标注