在架伺服器的時候,我們多多少少會用到憑證,包含最常見的網頁、或是 mail 等等。
本系列的兩篇文章將簡要介紹如何獲取憑證,其中包括今天的主題 - 受信任的憑證,以及明天的主題 - 自簽憑證。
Let's Encrypt 是一個免費的憑證頒發機構,它提供了一個方便且免費的方式來獲取有效的憑證。
但他的缺點是憑證有效期限只有三個月,所以憑證需要頻繁更新。
我們可以用 Certbot 這個工具來幫助我們從 Let's Encrypt 拿到憑證。
我自己習慣直接生一張在同一個 domain 下都可以用的憑證,即開給 *.your-domain.me
的憑證。
我是參考這篇文章的流程,這邊大概簡述並微調一點點指令。
$ sudo certbot certonly --manual --agree-tos \
-d "*.example.com" \
-d example.com \
--email me@example.com \
--preferred-challenges dns \
--server https://acme-v02.api.letsencrypt.org/directory
-d
參數後面接的是要申請的網域,我們要的是在你的網域以下的全部 (*
) 以及你的網域本身,所以有兩個--preferred-challenges dns
代表我們會用 DNS 的方式來驗證你是不是真的持有這個 domain,要 wildcard 的話只能這樣做,單一的話有其他方法可以驗證接下來他會給你一個類似密碼的東西,你要把它放進你的 DNS 紀錄裡面,並給他一點時間等他生效,這件事要做兩次。
建議是可以在設定完之後去 google 隨意找個 DNS checker 然後看自己的紀錄有沒有上去,如果 Let's Encrypt 那邊讀到舊的記錄的話,就要全部重做,有點麻煩。
接著你就可以在 /etc/letsencrypt/live/[your domain]/
這個目錄裡面找到憑證和私鑰了。