acme自動申請ssl證書


免費的ssl證書申請有很多渠道,但很多都需要到期重新申請。acme可以到期自動重新申請新的證書,放哪里就不用管了。

acme.sh的官方github中提供的wiki:https://github.com/acmesh-official/acme.sh/wiki/說明

安裝acme.sh

官方提供了三種常見的安裝方式。分別為:使用curl直接從get.acme.sh在線安裝,或者在github下載,或者git克隆了項目手動安裝。

很不信,因為網絡原因,前兩種方式都直接被拒絕訪問了。我只能使用第三種,使用git clone這個項目,並安裝:

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install

如果想嘗試前兩種,可以參考官方github

生成證書

生成證書有兩種驗證方式,http和dns。

http方式是需要在你的網站根目錄下放置一個文件, 來驗證你的域名所有權,完成驗證. 然后就可以生成證書了。

但是我的根域名另有他用,故使用第二種dns驗證。

dns驗證也分兩種,手動dns和自動dns,選擇其中一種就可。

手動dns驗證

手動dns就是在購買域名的地方手動添加acme生成的txt。使用下面的命令:

acme.sh  --issue  --dns   -d xxxxxxx.com

然后, acme.sh 會生成相應的解析記錄顯示出來, 你只需要在你的域名管理面板中添加這條 txt 記錄即可.等待解析完成之后, 重新生成證書:

acme.sh  --renew   -d xxxxxxx.com

注意第二次這里用的是 --renew

自動dns驗證

dns 方式的真正強大之處在於可以使用域名解析商提供的 api 自動添加 txt 記錄完成驗證。

自動dns需要使用購買域名的網站提供的api訪問。比如阿里雲:

使用阿里雲域API自動頒發證書

首先,您需要登錄到Aliyun帳戶以獲取API密鑰。 https://ak-console.aliyun.com/#/accesskey

export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"

好的,讓我們現在頒發證書:

acme.sh --issue --dns dns_ali -d example.com -d www.example.com

Ali_KeyAli_Secret將被保存~/.acme.sh/account.conf,需要時會被重用。

不同的運行商是不同的,請參考wiki,根據自己的運營商來:https://github.com/acmesh-official/acme.sh/wiki/dnsapi

如果需要申請泛域名證書,命令為:

acme.sh   --issue   --dns dns_ali   -d aa.com  -d "*.aa.com"

使用證書

將使用的路徑指向生成的證書

以nginx舉例。

ssl_certificate      /root/.acme.sh/xxxxx.com/fullchain.cer;
ssl_certificate_key  /root/.acme.sh/xxxxx.com/xxxxxx.com.key;

訪問網站的時候就可以見到證書


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM