Let's Encrypt通配符證書申請辦法,實測有效

在【Let's Encrypt正式支持通配符(泛解析)證書的闢謠】一文裡明月已經強調了目前網上很多所謂的申請Let's Encrypt通配符證書教程裡存在的不嚴謹,下面明月就給大家說一下如何正常申請到支持通配符的Let's Encrypt證書。

Let's Encrypt通配符證書申請辦法,實測有效

圖片來自學習筆記Blog【imydl.tech】

本文將以 acme.sh 腳本為例,因為 acme.sh 已經內測支持 Let's Encrypt 通配符證書的申請,但需要更新你當前使用的 acme.sh 腳本到最新版本,具體命令如下:

acme.sh --upgrade

下載更新完成後,就可以申請Let's Encrypt通配符證書了,如果以前已經有Let's Encrypt證書了,只是需要申請替換原有證書,記得加上 --force 參數即可,具體命令如下:

acme.sh --issue --dns dns_cx -d mydomain.com -d *.mydomain.com --forceacme.sh --installcert -d mydomain.com -d *.mydomain.com \--key-file /home/wwwroot/www.mydomain.com/ssl/mydomain.com.key \--fullchain-file /home/wwwroot/www.mydomain.com/ssl/mydomain.com.cer \--reloadcmd "service nginx reload"

當然,如果你想重新完整申請Let's Encrypt通配符證書也是可以的,就是需要刪除原有的證書,首先先列出當前通過 acme.sh 腳本管理的證書:

acme.sh --list

然後根據列出的當前證書的Main_Domain來刪除對應的證書,如下命令:

acme.sh remove Main_Domain

如果是ECC證書可以加上-ecc參數來刪除:

acme.sh remove Main_Domain -ecc

這樣以後就可以參考上面的申請辦法(去掉參數--force即可),比如:

acme.sh --issue --dns dns_cx -d mydomain.com -d *.mydomain.com

需要注意的是,目前Let's Encrypt通配符證書的申請,只能使用DNS驗證模式才可以,未來官方在正式支持以後可能會更多的方式來支持的,所以記得要提前導入好DNS的API哦!

同理,ECC加密的證書申請通配符可以用下面的命令:

acme.sh --issue --dns dns_cx -d imydl.tech -d *.imydl.tech -k ec-256 --forceacme.sh --installcert -d imydl.tech -d www.imydl.tech --ecc \--key-file /home/wwwroot/www.imydl.tech/ssl/imydl.tech.ecdsa.key \--fullchain-file /home/wwwroot/www.imydl.tech/ssl/imydl.tech.ecdsa.cer \--reloadcmd "service nginx reload"

其他同上參考即可。

至此你已經申請到支持通配符的Let's Encrypt證書了,通過acme.sh --listSAN_Domains一欄裡就可以看到*.mydomain.com就說明已經成功了。

最後再次鄙視一下那些一點兒都不嚴謹的博文,需要說明白的都是模稜兩可一筆帶過,對很多小白來說真的是“害人不淺”,強烈鄙視一下!


分享到:


相關文章: