3 月 16 2018
開始用 Let’s Encrypt 的 wildcard certificate
2016 年自己寫過 改用 Let’s Encrypt 的 certificates,文內提到的 dehydrated 也持續在使用。
這幾天看到 Let’s Encrypt 貼出 ACME v2 and Wildcard Certificate Support is Live。
Let’s Encrypt 的 wildcard certificate 實作大概要注意以下幾點:
- 要用 ACME v2 compatible client(官方有提供列表: ACME Client Implementations)
- 不能用 HTTP challenge,改用 DNS challenge
使用 dehydrated 進行 DNS challenge 可以參考這幾份文件:
我選擇用 nsupdate 的方式(參考 dehydrated Wiki : example dns 01 nsupdate script),在 DNS master server 建立 _acme-challenge.{DOMAIN} 的 NS record,讓 hook script 透過 nsupdate 連線到指定的 name server 更新 TXT record 。
DNS 方面完成後,要記得佈署 hook script 與 nsupdate 使用的 key。
接著是調整語法,原本的語法:
/SOMEWHERE/dehydrated/dehydrated -c -d {網站hostname}
改為:
/SOMEWHERE/dehydrated/dehydrated \ -c -d *.{DOMAIN} \ -t dns-01 -k {HOOK_SCRIPT} \ --alias wildcard.{DOMAIN}
( –alias 指定的 wildcard.{DOMAIN} 會成為目錄名稱,用來存放憑證 )
11 月 15 2020
用 certbot 取用 Let’s Encrypt 的 certificates
我原本使用 dehydrated,前陣子開始改用 certbot。
對我這懶人來說,certbot 有 rpm & dpkg,也都有 yum 跟 apt 的 repositories 可用,這點挺重要…
單機(純 hostname)的 certificate 搭配 nginx 用這行指令就可以完成:
取用 wildcard certificate 的話可以先看看 certbot 的 DNS Plugins 文件。
我自己的網域 DNS server 是自己掌管的,搭配的是 certbot-dns-rfc2136 。
編輯完設定檔(eg. /etc/letsencrypt/rfc2136.ini)之後也是一行指令完成:
另外,在 Ubuntu 安裝的 certbot 已經使用 systemd 的 timers 觸發定時更新,用下面這行指令可以確認其狀況。
By Joe Horn • WWW 1 • Tags: certbot, certificate, Let's Encrypt, SSL