前言
Let’s Encrypt 推出至今一年多,受到廣大用戶的歡迎,它的官方用戶端也隨著功能演變與更新也改名為 Certbot。
使用初期,為了加深對子網域個別的控制,因此採用憑證與子網域一對一對映的策略;但隨著子網域成員增加,每次逐一更新便顯得很沒效率。
本文將示範如何把多個子網域納入單一憑證,以及後續維護。
目標
- 憑證的 CN (Common Name) 是主網域
example.com
- 憑證的 SAN (Subject Alternative Name) 是明列的子網域
www.example.com
與mail.example.com
- 用戶可使用單一指令新增、移除憑證內子網域
做法
若想產生內含多個子網域的憑證,例如將 www.example.com
與 mail.example.com
加入 example.com
,命令如下:
certbot certonly --cert-name example.com -d example.com,www.example.com,mail.example.com
-d
或 --domains
為明列的子網域清單
日後若需於該憑證移除 mail.example.com
並加入 static.example.com
,只需如此:
certbot certonly --cert-name example.com -d example.com,www.example.com,static.example.com
Certbot 會自行比對既有憑證內的 SAN 與輸入的子網域清單,移除或增加的新憑證的 SAN。
foo bar baz looks good