申請Let’s encrypt免費證書,並自動續訂.

deanglc發表於2018-11-07

最近在弄證照的東西,順便把我瞭解的記錄下.

Let’s encrypt的免費證照已經出了快一年,以前弄了https的域名chrome還能送把綠的發亮的小綠鎖呢,不過最近的版本更新已經撤銷了這個小綠鎖.

img


sslabs這個網站能夠檢測ssl的安全、效能.在部署完之後可以去檢測一下,ssllabs測試之後會給出一個評級,比如我目前就只有A,最高評分為A+.

申請Let’s encrypt免費證書,並自動續訂.

1.如何申請免費的證照?

本來使用的是阿里雲給的一年的單域名免費證照,但Let’s encrypt支援泛域名還免費,用腳?想都知道用哪個.

如何申請Let’s encrypt的證照呢?

Let’s encrypt官方推薦cerbot來申請證照.按照官網教程一步一步走即可.下面演示的是ubuntu+nginx 的申請流程.

①install

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx 
複製程式碼

執行完以上命令你便完成了cerbot的安裝.接下來就是弄好dns的驗證,弄好了這一步便可自動續期證照.

②dns的驗證外掛dns-plugin

官方給出申請證照的命令如下:

$ sudo certbot -a dns-plugin -i nginx -d“* .example.com”-d example.com --server https://acme-v02.api.letsencrypt.org/directory
# dns-plugin,-nginx和example.com 是需要根據個人情況替換的.
# 對應的dns服務商有對應的dns外掛,你可以在
# (https://certbot.eff.org/docs/using.html#dns-plugins )找到相關資訊.
複製程式碼

我用的是dnspod,上述連結並不能給我提供幫助,所以用到了了第三庫certbot-dns-dnspod

使用這個庫之前,需要拿到dnspod生成的API Token.

生成路徑:dnspod後臺➡使用者中心➡安全設定➡API Token➡建立API Token.

申請Let’s encrypt免費證書,並自動續訂.

Dnspod這個token有個,務必注意上圖資訊中的 ID 和 Token,需要用這兩個欄位來組合成一個完整的 Token,組合方式為:"ID,Token"(用英文半形逗號分割)

So,完整的 Token 為:

13490,6b5976c68aba5b14a0558b77c17c3932
複製程式碼

回到自己的伺服器,建立/etc/letsencrypt/dnspod.conf,會在拿證環節用到這個檔案.

certbot_dns_dnspod:dns_dnspod_email = "xxxxx@qq.com"
certbot_dns_dnspod:dns_dnspod_api_token = "13490,6b5976c68aba5b14a0558b77c17c3932"
複製程式碼

③拿證!

sudo certbot certonly -a certbot-dns-dnspod:dns-dnspod --certbot-dns-dnspod:dns-dnspod-credentials /etc/letsencrypt/dnspod.conf --server https://acme-v02.api.letsencrypt.org/directory -d gongchen.com -d "*.gongchen.com"
複製程式碼

....自動續訂啥的未完待續


相關文章