Let's encrypt 免费证书申请教程

安装 acme.sh

1
curl https://get.acme.sh | sh

会安装在~/.acme.sh/目录下,以后生成的证书也会在这里面,按照域名为文件夹放置。

理论上会自动添加一个acme.sh全局应用别名,但有时候会command not found,需要手动执行以下命令:source ~/.bashrcsource ~/.bash_profile后再继续。

申请证书

设置阿里云或其他dns服务商的密钥,这部分可以参考官网,这里就不详细说明了。

这边以阿里云的DNS为例:

1
2
3
4
5
export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"

export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"

acme.sh –issue –dns dns_ali -d www.example.com [-d example.com …]

example.com为自己的域名。如果想要通配符可将www.example.com改为*.example.com(PS:使用通配符后证书不支持一级域名example.com域名,需单独生成证书)。

证书有效期为3个月,虽然脚本有自动验证和更新操作,但有可能需要自己手动更新,此时运行命令

1
2
3
acme.sh --cron -f -d *.example.com
# 或者
acme.sh --renew --force -d *.examplae.com

启用acme.sh的自动更新

目前由于acme协议和letsencrypt CA都在频繁的更新, 因此acme.sh也需要经常更新保持同步。执行下面的命令

1
acme.sh  --upgrade  --auto-upgrade

更新nginx配置

1
2
sl_certificate /path/*.example.com/fullchain.cer;
ssl_certificate_key /path/*.example.com/*.example.com.key;

Let's encrypt 免费证书申请教程
https://www.goozoe.com/posts/8948.html
作者
一起吃西瓜
发布于
2019年12月5日
许可协议