文章更新時間:2021-11-25
環境:
OS: Ubuntu 18.04 LTS
Web server: Apache: 2.4
初始化:
安裝流程參閱官方內容即可:https://certbot.eff.org/instructions?ws=apache&os=ubuntu-18
單一主機名稱 (Single host) 步驟:
- 開始自動化設定 (for apache) ./certbot --apache
- 選擇要簽發憑證的主機名稱
- 選擇未來的連線方式
- HTTP, HTTPS 並存
- 全部導向 HTTPS (會自動在該主機設定檔加上 rewrite rule)
- 測試是否正常簽發 https://www.ssllabs.com/ssltest/analyze.html?d=[主機名稱]
Wildcard Certificate 步驟:
- 採用手動設定,挑戰模式採用 DNS TXT 紀錄: ./certbot certonly --manual --preferred-challenges dns --agree-tos --email yourname@example.com -d "*.yourdomain.com,yourdomain.com"
- 接下來會出現要加入 DNS TXT 的內容:
- 加入後用以下指令確認是否已經生效:
[Linux] dig _acme-challenge.yourdomain.com txt
[Windows] nslookup -q=txt _acme-challenge.yourdomain.com - 生效後按下 Enter
- 由於本範例登錄了 *.yourdomain.com 及 yourdomain.com 兩個域名,所以 2~3 步驟會跑兩次(請注意那個挑戰用的值 xxxxxxxx 每次都不同,此外,不要刪除前一個 TXT Record 而是建立同名的第二個 TXT Record)
- 等第二個生效等了一段時間,因為要看主機的 TTL
- 以後還是得使用以上相同流程來更新憑證
- 由於此方式僅申請憑證但沒有自動設定到 Web Server,所以後續要自己手動設定
維護:
- 列出所有憑證: ./certbot certificates
- 更新所有憑證: ./certbot renew
- 更新單一憑證: ./certbot renew --cert-name [憑證名稱]
- 刪除憑證: ./certbot delete --cert-name [憑證名稱]