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)證。這是最簡(jiǎn)單重罪、便捷的方式。
- 無(wú)需指定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記下來(lái)蝇更。
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)檢測(cè)所有的證書宵膨,如果快過期了, 則會(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