
Let's Encrypt將免費(fèi)服務(wù)提供給全世界,讓昂貴的SSL變得觸手可及,同時(shí)提升互聯(lián)網(wǎng)整體的安全水平。
自2015開始,Let's Encrypt便提供免費(fèi)的單域名證書。很多主機(jī)服務(wù)商、CDN服務(wù)商、面板均可自動(dòng)申請(qǐng)并續(xù)簽。
2018年初,Let's Encrypt開始提供通配符證書,即一套證書可以用于所有子域名。當(dāng)頒發(fā)給i.iwyc.cn
時(shí),所有一級(jí)子域名均可以使用該證書。大大的福利!
下面是申請(qǐng)Let's Encrypt泛域名SSL證書的教程:
一、安裝acme.sh腳本
參考:acme.sh中文指南
打開終端,鍵入:
curl https://get.acme.sh | sh
如果提示curl命令不存在,則需要安裝相關(guān)依賴。
二、驗(yàn)證域名
acme.sh 實(shí)現(xiàn)了 acme 協(xié)議支持的所有驗(yàn)證協(xié)議。一般有兩種方式驗(yàn)證: http 和 dns 驗(yàn)證。
推薦使用DNS驗(yàn)證,并且配合域名解析商提供的 api 自動(dòng)添加 txt 記錄完成驗(yàn)證。這是最簡單、便捷的方式。
- 無需指定IP即可驗(yàn)證域名
- 全自動(dòng)化申請(qǐng)并續(xù)簽
- 隨意使用CDN或跳轉(zhuǎn),只要不更改域名解析商,都不影響續(xù)簽
其它方式請(qǐng)參考官方指南。
1.登錄域名解析商獲取API
acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等數(shù)十種解析商的自動(dòng)集成。
可以在官方文檔-API用法中查詢acme.sh支持的解析商以及對(duì)應(yīng)的指令。
以DNSPOD(騰訊云)為例,在用戶中心-安全設(shè)置中開啟API,并將ID和Token記下來。

2.然后將API輸入終端:
export DP_Id="替換為數(shù)字ID"
export DP_Key="替換為Token值"
注意,這是DNSPOD的指令,如果是其它解析商,請(qǐng)參照官方文檔-API用法。
三、生成證書
在終端中鍵入:
acme.sh --issue --dns dns_dp -d iwyc.cn -d *.iwyc.cn
請(qǐng)?zhí)鎿Q成自己的域名,*是通配符,支持任何一級(jí)子域名。
終端中會(huì)輸出證書存放的位置,可以按圖索驥找到證書文件。

可以看到證書包中有很多文件,其中域名.key是秘鑰;a.cer存儲(chǔ)的是CA證書,域名.cer是域名證書,fullchain.cer是前兩者的拼接;域名.csr是證書簽名請(qǐng)求。
四、使用證書
在寶塔面板中,只需要將證書文件拷貝到“其他證書”中,保存即可。

基于Nginx的服務(wù)器,左側(cè)拷貝的內(nèi)容是域名.key,右側(cè)拷貝的是fullchain.cer。基于Apache請(qǐng)自行搜索。
如果沒有使用面板,可以在終端中使用 --installcert
命令進(jìn)行安裝。
五、檢驗(yàn)證書
訪問myssl.com,檢驗(yàn)證書是否安裝正確。

其它
1.自動(dòng)續(xù)簽
安裝acme.sh時(shí),會(huì)自動(dòng)創(chuàng)建 cronjob,每天 0:00 點(diǎn)自動(dòng)檢測所有的證書,如果快過期了, 則會(huì)自動(dòng)更新證書。
2.更新acme.sh
目前由于 acme 協(xié)議和 letsencrypt CA 都在頻繁的更新, 因此 acme.sh 也經(jīng)常更新以保持同步.
升級(jí) acme.sh 到最新版 :
acme.sh --upgrade
如果你不想手動(dòng)升級(jí), 可以開啟自動(dòng)升級(jí):
acme.sh --upgrade --auto-upgrade
關(guān)閉自動(dòng)更新:
acme.sh --upgrade --auto-upgrade 0