acme.sh自动生成免费ssl证书(自动续期)

发布 : 2023-02-13 分类 : 运维 浏览 :

简介

先了解下ACME协议,此协议是由Let’s Encrypt开发,它是一个免费的证书颁发机构。ACME协议有两个关键的部分,一个是ACME服务端,一个是ACME客户端。服务端能够自动颁发证书,客户端可以请求、续签、吊销证书。而acme.sh就是通过此协议帮助我们自动申请证书和续签,此项目完全有shell编写,没有依赖,方便安装,使用简单

我是通过freesslacme.sh结合实现自动化ssl证书的生成,免费,好用!

acme.sh 安装

一条命令即可安装,普通用户和root都可以

1
curl https://get.acme.sh | sh -s email=my@example.com

为了方便使用可以设置一个alias

1
2
echo 'alias acme.sh=~/.acme.sh/acme.sh' >>~/.bashrc
source ~/.bashrc

freessl 注册

访问https://freessl.cn/ ,注册账号略过,注册后点击ACME自动化->点击添加->按照步骤添加DNS的CNAME解析(我用的阿里云的DNS)检测通过后会有给你一个命令行,在服务器执行即可

acme域名配置

acme部署

执行完以下命令后,会在~/.acme.sh/www.geeklive.cn/ 目录下生成证书(证书有效期为90天),之后在nginx配置好即可

1
acme.sh --issue -d www.geeklive.cn  --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/xxxxxxxx

acme.sh会自动生成计划任务,添加时按照以下命令添加crontab 任务,每天0点自动检查证书是否过期

1
2
crontab -e 
0 0 * * * /home/ubuntu/.acme.sh/acme.sh --cron --home /home/ubuntu/.acme.sh/

acme.sh扩展命令

查看已经安装的证书信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 acme.sh --info -d www.geeklive.cn
DOMAIN_CONF=/home/ubuntu/.acme.sh/www.geeklive.cn/www.geeklive.cn.conf
Le_Domain=www.geeklive.cn
Le_Alt=no
Le_Webroot=dns_dp
Le_PreHook=
Le_PostHook=
Le_RenewHook=
Le_API=https://acme.freessl.cn/v2/DV90/directory/xx
Le_Keylength=2048
Le_OrderFinalize=https://acme.freessl.cn/v2/DV90/finalize/xxx/xxx/xxx
Le_LinkOrder=https://acme.freessl.cn/v2/DV90/order/xxxx/xxx/xxx
Le_LinkCert=https://acme.freessl.cn/v2/DV90/cert/xxxxx/xx
Le_CertCreateTime=1676343750
Le_CertCreateTimeStr=2023-02-14T03:02:30Z
Le_NextRenewTimeStr=2023-04-14T03:02:30Z
Le_NextRenewTime=1681441350

更新acme.sh脚本

1
2
3
4
5
6
7
8
9
#升级 acme.sh 到最新版 :

acme.sh --upgrade

#如果你不想手动升级, 可以开启自动升级,之后, acme.sh 就会自动保持更新了.
acme.sh --upgrade --auto-upgrade

#你也可以随时关闭自动更新:
acme.sh --upgrade --auto-upgrade 0

手动更新证书

1
2
#强制更新证书:
acme.sh --renew -d www.geeklive.cn --force

停止更新证书,您可以执行以下操作从更新列表中删除证书:

1
acme.sh --remove -d www.geeklive.cn

本文作者 : WGY
原文链接 : http://geeklive.cn/2023/02/13/acme.sh/undefined/acme.sh/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
留下足迹