早年胰舆,如果我們網(wǎng)站項(xiàng)目需要安裝SSL證書(shū)那基本上只有購(gòu)買(mǎi)付費(fèi)證書(shū),而且成本還相對(duì)比較高蹬挤。從Let's Encrypt等服務(wù)商都相繼提供免費(fèi)SSL證書(shū)之后缚窿,以及普及SSL證書(shū)的應(yīng)用之后,我們看到原本很多付費(fèi)且較高的SSL證書(shū)也比較便宜焰扳。如今我們?nèi)绻枰?gòu)買(mǎi)付費(fèi)證書(shū)成本基本上也與一個(gè)域名的價(jià)格差不多甚至更便宜倦零。
如果個(gè)人或者普通項(xiàng)目,我們其實(shí)完全沒(méi)有必要購(gòu)買(mǎi)付費(fèi)證書(shū)吨悍,使用Let's Encrypt這樣的免費(fèi)證書(shū)足矣扫茅,而且現(xiàn)在Let's Encrypt也支持申請(qǐng)泛域名證書(shū)。這對(duì)于原來(lái)只能單一申請(qǐng)且使用的用戶來(lái)說(shuō)育瓜,又一個(gè)利好消息葫隙。不過(guò)對(duì)于一般的用戶而言,基本上也用不上泛域名SSL證書(shū)躏仇。
一般我們SSL證書(shū)都用于網(wǎng)站項(xiàng)目恋脚,且大部分的WEB一鍵包、WEB面板都支持快速安裝SSL證書(shū)焰手,且基本上都默認(rèn)將Let's Encrypt作為免費(fèi)證書(shū)內(nèi)置糟描。但是,因?yàn)長(zhǎng)et's Encrypt商家才推出免費(fèi)泛域名證書(shū)书妻,所以對(duì)于泛域名證書(shū)的申請(qǐng)還沒(méi)有提供快速申請(qǐng)船响。在這篇文章中,需要分享的是我們利用網(wǎng)友提供的腳本可以快速給網(wǎng)站申請(qǐng)泛域名證書(shū)躲履。
關(guān)于免費(fèi)SSL證書(shū)申請(qǐng)见间,老部落還有幾篇文章可以參考:
1、申請(qǐng)騰訊云免費(fèi)DV SSL證書(shū)及Apache/Nginx/IIS/Tomcat證書(shū)安裝
2崇呵、阿里云免費(fèi)DV SSL證書(shū)申請(qǐng)自動(dòng)下發(fā)及Apache/Nginx/IIS/Tomcat安裝SSL
3缤剧、景安免費(fèi)1年基礎(chǔ)級(jí)DV SSL證書(shū)申請(qǐng)及網(wǎng)站HTTPS加密安裝
第一、Let's Encrypt泛域名申請(qǐng)準(zhǔn)備工作
1域慷、了解申請(qǐng)?jiān)?/p>
這篇文章后面用到的一鍵腳本申請(qǐng)Let's Encrypt泛域名SSL證書(shū)荒辕,是利用第三方域名DNS API接口快速申請(qǐng)的,這樣犹褒。無(wú)論我們Linux VPS抵窒、服務(wù)器使用的何種WEB環(huán)境都可以快速申請(qǐng)。
2叠骑、申請(qǐng)DNS API
根據(jù)腳本的介紹李皇,提供且支持我們常見(jiàn)的第三方DNS,包括DNSPOD、CLOUDXNS掉房、阿里云DNS茧跋、GoDaddy、CLOUDFLARE卓囚、PowerDNS瘾杭、Linode 等40多家DNS服務(wù)商。如果我們域名有用哪家的DNS哪亿,然后到對(duì)應(yīng)的商家申請(qǐng)API粥烁。
舉個(gè)例子:如果我們域名申請(qǐng)DNSPOD API,如上圖申請(qǐng)之后需要記錄好ID和Token蝇棉。
export DP_Id="1234"
export DP_Key="sADDsdasdgdsf"
然后根據(jù)對(duì)應(yīng)的標(biāo)準(zhǔn)準(zhǔn)備好讨阻,后面需要在VPS服務(wù)提交。
3篡殷、自定義腳本
~/.acme.sh/acme.sh --issue --dnsdns_dp-d laobuluo.com -d *.laobuluo.com
需要注意的問(wèn)題:我們需要到https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md钝吮,查看支持的DNS服務(wù)商,以及看到對(duì)應(yīng)的API格式和自定義腳本設(shè)置贴唇。每個(gè)DNS服務(wù)商需要用的稍微不同搀绣,比如DNSPOD,我們看到上標(biāo)注是dns_dp戳气。
第二链患、Let's Encrypt泛域名申請(qǐng)過(guò)程
1、準(zhǔn)備VPS和登入
這里我們需要準(zhǔn)備好已經(jīng)安裝過(guò)WEB環(huán)境的VPS瓶您,以及域名解析到服務(wù)器且DNS是使用的對(duì)應(yīng)的準(zhǔn)備好的麻捻。如果我們不放心可能產(chǎn)生的問(wèn)題,那就先將服務(wù)器備份呀袱。
2贸毕、安裝軟件和acme.sh
apt-get update && apt-get install curl -y
&& apt-get install cron -y && apt-get install socat -y
//Debian/Ubuntu系統(tǒng)
yum update && yum install curl -y && yum install cron -y && yum install socat -y //CentOS系統(tǒng)
curl https://get.acme.sh | sh
3、提交API和腳本申請(qǐng)
我們登錄SSH之后夜赵,先將自己的API丟進(jìn)去明棍,然后再將申請(qǐng)腳本丟進(jìn)去會(huì)自動(dòng)申請(qǐng)。
看到上面界面就表示申請(qǐng)成功寇僧。
4摊腋、檢查證書(shū)
在"/root/.acme.sh/"對(duì)應(yīng)的域名下,可以看到上圖的這么多文件嘁傀,其實(shí)我們只需要fullchain.cer和域名前綴.key文件就可以的兴蒸。
第三、Let's Encrypt泛域名SSL證書(shū)安裝
根據(jù)上文我們可以看到只需要2個(gè)文件就可以安裝證書(shū)细办,但是我們需要先將證書(shū)拷貝到對(duì)應(yīng)的證書(shū)專(zhuān)門(mén)目錄中橙凳,不要直接引用這個(gè)目錄文件。
~/.acme.sh/acme.sh --installcert -d .com \
--key-file /etc/nginx/ssl/.key \
--fullchain-file /etc/nginx/ssl/fullchain.cer \
--reloadcmd "service nginx force-reload"
這里用的是service nginx force-reload, 不是service nginx reload, 據(jù)測(cè)試, reload 并不會(huì)重新加載證書(shū), 所以用的 force-reload)。Nginx 的配置 ssl_certificate 使用 /etc/nginx/ssl/fullchain.cer 岛啸,而非 /etc/nginx/ssl/.cer 钓觉,否則 SSL Labs 的測(cè)試會(huì)報(bào) Chain issues Incomplete 錯(cuò)誤。
第四值戳、小結(jié)
1议谷、通過(guò)上面腳本的辦法可以快速的結(jié)合域名DNS API申請(qǐng)Let's Encrypt泛域名SSL證書(shū),不需要特定哪種WEB環(huán)境才可以安裝堕虹。且不同的DNS渠道使用的API申請(qǐng)和腳本是不同的,需要參考官方文檔芬首。
2赴捞、申請(qǐng)的Let's Encrypt泛域名證書(shū)是自動(dòng)更新的,且我們需要將證書(shū)考慮到對(duì)應(yīng)網(wǎng)站目錄在安裝郁稍,不要直接用生成的目錄安裝赦政。
本文來(lái)自:https://www.laobuluo.com/1194.html