使用ACME部署生成阿里云免费HTTPS证书
使用ACME部署HTTPS證書
背景
現(xiàn)在越來越多的服務(wù)都是基于web,大多數(shù)默認(rèn)使用HTTP協(xié)議。HTTP協(xié)議是一種沒有加密的協(xié)議,所有數(shù)據(jù)都通過明文傳輸,即便是只在內(nèi)網(wǎng)使用也存在一定的安全風(fēng)險(xiǎn)。尤其是對于登錄等操作,賬號密碼通過HTTP協(xié)議明文傳輸是非常不安全的。
而HTTPS協(xié)議使用非對稱加密的方式對數(shù)據(jù)進(jìn)行加密,可以讓數(shù)據(jù)傳輸變得更加安全可靠。而將HTTP協(xié)議切換成HTTPS協(xié)議,只需要增加TSL證書即可。
本文使用ACME工具來生成TSL證書,并將TSL證書部署應(yīng)用于WEB服務(wù),從而實(shí)現(xiàn)支持HTTPS協(xié)議的WEB服務(wù)。
ACME
ACME是The Automatic Certificate Management Environment的縮寫,詳情可以參閱其?GITHUB官方鏈接,并且有?中文說明。
ACME主要有以下幾個(gè)功能
- 向Let’s Encrypt申請證書
- 支持包括阿里云在內(nèi)的多個(gè)平臺,通過多種接口為域名增加TXT解析
- 將證書部署于web服務(wù)
- 自動更新證書
安裝ACME
只需要一行命令就可以安裝ACME
$ curl https://get.acme.sh | sh或者
$ wget -O - https://get.acme.sh | sh安裝一共包括下面幾個(gè)步驟
- 將acme.sh腳本復(fù)制到~/.acme.sh路徑下
- 在當(dāng)前用戶的SHELL環(huán)境配置文件中增加acme.sh=~/.acme.sh/acme.sh
- 添加一項(xiàng)crontab定時(shí)任務(wù)
獲取域名服務(wù)商的遠(yuǎn)程管理密鑰
以阿里云為例,在用戶的管理臺中,找到AccessKey,安全起見可以增加一個(gè)子用戶,并給該子用戶添加管理云解析(DNS)的權(quán)限。
記住AccessKeyID和AccessKeySecret,并運(yùn)行下面的命令添加相應(yīng)環(huán)境變量
export Ali_Key="AccessKeyID" export Ali_Secret="AccessKeySecret"申請證書
在同一個(gè)terminal中繼續(xù)輸入下面的命令來生成證書,記得把example.com改成自己的域名
~/.acme.sh/acme.sh --issue --dns dns_ali -d example.com -d *.example.com注意查看程序運(yùn)行日志,正常情況可以看到新生成證書的路徑。
自動部署
自動把證書部署于WEB服務(wù)。
~/.acme.sh/acme.sh --installcert -d example.com \ --key-file /path/to/keyfile \ --fullchain-file /path/to/fullchain \ --reloadcmd "/etc/init.d/uhttpd restart"本文以O(shè)PENWET的管理頁面為例,
~/.acme.sh/acme.sh --installcert -d example.com \ --keypath /etc/uhttpd.key \ --fullchainpath /etc/uhttpd.crt \ --reloadcmd "/etc/init.d/uhttpd restart"自動更新
在安裝ACME時(shí)就創(chuàng)建了一條crontab定時(shí)任務(wù),每天凌晨檢查證書是否過期,如果過期的話就會重新申請并自動部署。
前面使用過的申請證書和自動部署的兩條命令在運(yùn)行之后都會記錄下來,將來在證書自動更新時(shí)就會執(zhí)行同樣的的命令和參數(shù)。例如自動部署的命令就保存于~/.acme.sh/example.com目錄下的example.com.conf文件里,reloadcmd命令是以base64編碼后的形式保存的。
所以只要確保上面申請證書和自動部署的兩部操作都正確無誤就可以了,后續(xù)的更新都會自動進(jìn)行,不需要額外的操作。
參考文章
自動化部署證書 acme.sh 詳細(xì)實(shí)踐使用教程
使用acme.sh實(shí)現(xiàn)海量域名SSL證書自動申請與更新
如上述博客有任何錯(cuò)誤或者疑問,請加VX:1755337994,及時(shí)告知!萬分感激!?
總結(jié)
以上是生活随笔為你收集整理的使用ACME部署生成阿里云免费HTTPS证书的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小程序如何跳转到各大电商小程序进行CPS
- 下一篇: 2.Pycharm + Django +