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

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

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

img


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

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

原本使用的是阿里雲給的一年的單域名免費證書,但Let’s encrypt支持泛域名還免費,用腳🦶想都知道用哪一個.git

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

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

①installshell

$ 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的驗證,弄好了這一步即可自動續期證書.ubuntu

②dns的驗證插件dns-pluginapi

官方給出申請證書的命令以下:安全

$ 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.

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"
複製代碼

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

相關文章
相關標籤/搜索