一、安裝
參考 acme.sh文檔
$ curl https://get.acme.sh | sh
無法下載時可以使用下面的代理方式:
$ curl https://mirror.ghproxy.com/https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh | INSTALLONLINE=1 sh
使用命令source ~/.bashrc
讓alias生效有送,或者再次執(zhí)行
$ alias acme.sh=~/.acme.sh/acme.sh
二划提、添加DNSAPI密鑰
我使用阿里云的域名钙勃,所以直接先添加阿里云的dnsapi, 登錄阿里云控制臺-頭像-accesskeys, 或者登錄后直接打開 鏈接,添加并獲取AccessKeyID
和AccessKeySecret
,存在舊的也可以直接使用。
其他類型的可以參考dnsapi文檔
三置逻、生成證書
使用阿里云的dns,所以下面的dns參數(shù)是dns_ali
, 例如我們申請zqyu.com
這個域名的泛域名證書
$ export Ali_Key="[參數(shù)是上面申請的AccessKeyID]"
$ export Ali_Secret="[參數(shù)是上面申請的AccessKeySecret]"
$ acme.sh --issue --dns dns_ali -d zqyu.com -d *.zqyu.com
如果下載失敗可以使用 --debug
參數(shù)打印更多的信息,例如
$ acme.sh --issue --dns dns_ali -d zqyu.com-d *.zqyu.com --debug
等待證書下載并保存备绽,acme.sh
用到的所有文件都放在路徑 ~/.acme.sh/
, 下載的證書也全部放在這里券坞。
四鬓催、安裝證書
官方文檔建議不要直接使用這個目錄下的文件,所以使用命令將生成的證書安裝到其他的目錄报慕。
例如nginx使用的證書深浮,使用下面的命令將證書復制到/etc/letsencrypt/zqyu.com/nginx
目錄中
$ acme.sh --install-cert -d zqyu.com \
--key-file /etc/letsencrypt/zqyu.com/nginx/key.pem \
--fullchain-file /etc/letsencrypt/zqyu.com/nginx/cert.pem
nginx中使用證書
ssl_certificate /etc/letsencrypt/zqyu.com/nginx/cert.pem;
ssl_certificate_key /etc/letsencrypt/zqyu.com/nginx/key.pem;
重新加載nginx配置
$ nginx -s reload
五、證書更新
acme.sh
安裝時默認添加了一個自動更新證書的定時任務
57 0 * * * "~/.acme.sh"/acme.sh --cron --home "~/.acme.sh" > /dev/null
所以證書是可以自動更新了,上面的dnsapi賬號信息保存到了~/.acme.sh/account.conf
文件中眠冈,安裝的目錄保存到了~/.acme.sh/zqyu.com/zqyu.com.conf
,自動更新時會讀取這些信息飞苇。
更新證書之后需要重新加載nginx配置
$ nginx -s reload
可以將命令也加到定時任務里面
57 0 * * * "~/.acme.sh"/acme.sh --cron --home "~/.acme.sh" > /dev/null && nginx -s reload
六、 acme.sh
更新
手動更新
$ acme.sh --upgrade
設置自動更新
acme.sh --upgrade --auto-upgrade
取消自動更新
acme.sh --upgrade --auto-upgrade 0
七蜗顽、 acme.sh
卸載
- 刪除文件夾
~/.acme.sh
- 使用
crontab -e
刪除生成的定時任務 - 刪除別名
unalias acme.sh
- 刪除
~/.bashrc
中的. "/root/.acme.sh/acme.sh.env"