Let’s Encrypt Wildcard Certificate

Chris Wu
Chris Wu
Mar 17, 2018 · 4 min read

全網域通用憑證

Let’s Encrypt 從原本預計 1 月預計上線的全網域通用憑證 (Wildcard Certificate) 上線日期,不斷推遲,終於在最近上線了。

已經使用 Let’s Encrypt 為自己主機網站提供憑證很久了,以往每建立一個子網域就需要為他產生一筆新的憑證資料,雖然也不是什麼麻煩事,但是一旦數量多了起來,收到的定期更新通知也是不少。

最近為了備份需要,入手了一台 2 Bay 的 NAS,因為系統版本有點舊,要直接安裝 Certbot 有難度,因而研究起從其他主機產生 Let’s Encrypt 憑證的可能性,才知道 Let’s Encrypt 的 Wildcard 憑證,而且應該可以滿足我的需求,原本預計 1 月上線,卻已經推遲幾次,沒想到 3/14 就讓我盼到了。

今天終於有時間來試試看,順道也分享一下作法。


初次安裝

Let’s Encrypt 提供了 API 進行憑證要求及驗證網域擁有權,網路上已經有不少終端工具可以協助完成這些步驟,這篇文章將會使用 Certbot 這個最廣為使用的工具來取得 Wildcard 憑證。

要取得 Wildcard 憑證,必須使用支援 ACMEv2 (Automated Certificate Management Environment) 的終端工具,以 Certbot 為例,需要使用的版本為 0.22.0 以上,

已經有使用 Certbot 工具的管理員,可以跳過此步驟

下載 certbot

我用來取得 Certbot 的 Ubuntu 16.04 標準的安裝套件目前只有到 0.21.1 ,因此不應使用 apt-get install 來取得,我們直接從 eff.org 網站下載

Image for post
Image for post

要求驗證並取得憑證

接下來我要開始對我的 amou.ro 網域建立 Wildcard 憑證

Image for post
Image for post

這裡有個重要參數用來指定使用支援 ACMEv2 的憑證主機,這樣才能順利取得 Wildcard 憑證。

-- server https://acme-v02.api.letsencrypt.org/directory

在指定網域的時候,就使用 *.amou.ro 代入 -d 參數當中。如果主網域 (amou.ro) 也要的話,得另外指定。由於我只需要建立好憑證之後,再移到我的 NAS 去使用,因此採用 DNS 驗證。

註冊 Email 信箱,供緊急更新與通知使用

第一次進入這個憑證主機,會邀請你先提供 Email 註冊,同意服務條款,並且詢問你是否願意收到 EFF 的來信。

Image for post
Image for post

接下來就會開始驗證網域產生憑證了,Certbot 會指示你要完成驗證所需的步驟。

Image for post
Image for post

應該會在要求你建立一筆網域的 TXT 資料的地方停下,請依照你的網域主機所提供的方式建立這樣的紀錄

建立後查詢一下

$ dig _acme-challenge.amou.ro txt

Image for post
Image for post

查詢成功就可以回到 Certbot 繼續下一步。最終便能夠看見憑證成功建立的訊息如下圖

Image for post
Image for post

*注意

  • 驗證的過程可能會不只一次要求 TXT 的驗證碼,這時候必須要再次修改 TXT 資料,確定可以查詢到之後,再繼續進行下一步,同時輸入兩筆 TXT 紀錄可是會驗證失敗的。
  • 我原本有建立 CAA 資料,驗證過程當中需要先刪除掉

成功安裝好憑證之後看一下 :)

Image for post
Image for post

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store