acme.sh生成免费https证书
使用 acme.sh 申请 Let’s Encrypt 泛域名SSL证书教程acme.sh
实现了 acme
协议, 可以从 letsencrypt
生成免费的证书.
github
地址: https://github.com/acmesh-official/acme.sh
1. 安装 acme.sh
安装很简单, 一个命令:
1 | curl https://get.acme.sh | sh |
普通用户和 root
用户都可以安装使用. 安装过程进行了以下几步:
把 acme.sh
安装到你的 home
目录下:
1 | ~/.acme.sh/ |
并创建 一个 bash 的 alias, 方便你的使用:
1 | alias acme.sh=~/.acme.sh/acme.sh |
2.生成证书
请先前往阿里云后台获取App_Key
跟App_Secret
: https://ak-console.aliyun.com/#/accesskey
1 | # 替换成从阿里云后台获取的密钥 |
然后开始生成证书
1 | acme.sh --issue --dns dns_ali -d example.com -d *.example.com |
Ali_Key
和 Ali_Secret
信息会保存到 ~/.acme.sh/account.conf
中.
其他dns厂商: https://github.com/Neilpang/acme.sh/wiki/dnsapi
3.安装证书
证书生成以后, 需要把证书 copy
到真正需要用它的地方.
1 | acme.sh --installcert -d example.com -d *.example.com --key-file /usr/local/nginx/conf.d/ssl/example/example.com.key --fullchain-file /usr/local/nginx/conf.d/ssl/example/fullchain.cer --reloadcmd "nginx -s reload" |
nginx配置
1 | server{ |
4. 更新证书
查看定时任务crontab -l
1 | crontab -l |
目前证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.
5. 更新acme.sh
目前由于acme
协议和 letsencrypt CA
都在频繁的更新, 因此 acme.sh
也经常更新以保持同步.
升级 acme.sh
到最新版 :
1 | acme.sh --upgrade |
如果你不想手动升级, 可以开启自动升级:
1 | acme.sh --upgrade --auto-upgrade |
之后, acme.sh
就会自动保持更新了.
你也可以随时关闭自动更新:
1 | acme.sh --upgrade --auto-upgrade 0 |
acme.sh生成免费https证书