Let's Encrypt 免费申请泛域名证书
执行以下操作请关闭
Nginx
安装acme.sh
curl http://getacme.sh | sh
会安装在~/.acme.sh/
目录下,以后生成的证书也会在这里,按照域名文件夹安置
理论上会自动添加一个acme.sh
别名,但有时候并不会生成,需要手动执行以下命令:
source ~/.bashrc
使用
使用dns
模式获取TXT
acme.sh --issue -d example.com --dns \
--yes-I-know-dns-manual-mode-enough-go-ahead-please
DNS
配置
认证DNS
记得关闭
nginx
,应为要使用443端口
acme.sh --renew -d '*.example.com' \
--yes-I-know-dns-manual-mode-enough-go-ahead-please
强制
acme.sh --renew --force -d '*.example.com' \
--yes-I-know-dns-manual-mode-enough-go-ahead-please
使用dns api
的模式进行证书申请
获取Accesskey ID
和AccessKey Secret
开通阿里云AccessKeys
子账户
查看你所配置的DNS服务器
开通阿里云Accesskeys
链接
image
image
image
设置阿里云权限
image
image
自动更新证书
Let‘s Encrypt的证书有效期为60天
目前手动添加DNS获取证书的方式无法自动更新,但是使用DNS API的方式进行获取证书可以在 60 天以后会自动更新, 你无需任何操作.
# 强制任务更新
acme.sh --cron -f
acme更新
目前由于 acme 协议和 Let`s CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.
# 升级 acme.sh 到最新版
acme.sh --upgrade
# 自动更新
acme.sh --upgrade --auto-upgrade
# 关闭自动更新
acme.sh --upgrade --auto-upgrade 0