隨著網路安全意識提升,SSL 憑證已成為網站必備的安全基礎。Let’s Encrypt 提供免費 SSL 解決方案,但其證書僅有 90 天有效期,手動更新耗時且易疏漏。本文將示範如何在 Ubuntu 系統中,結合 Crontab 定時任務與 Apache 伺服器,實現 SSL 證書全自動更新,確保網站永不中斷安全防護。
步驟詳解
1. 安裝 Certbot 工具
執行以下指令安裝 Let’s Encrypt 官方客戶端 Certbot:
sudo apt update
sudo apt install certbot python3-certbot-apache
2. 生成初始 SSL 證書
使用 Apache 外掛快速生成證書(替換 your_domain.com
為實際域名):
sudo certbot --apache -d your_domain.com
依提示完成設定,系統將自動配置 Apache 的 SSL 參數。
3. 設置 Crontab 自動更新任務
編輯 root 的定時任務表:
sudo crontab -e
加入以下內容(每天 00:00 與 12:00 檢查更新):
0 0,12 * * * /usr/bin/certbot renew --quiet
存後退出,系統將定期執行更新並自動重載 Apache 服務。
4. 驗證自動化流程
手動測試更新機制是否正常:
sudo certbot renew --dry-run
若顯示模擬成功,即表示設定無誤。
透過 Crontab 與 Certbot 的整合,不僅免除手動更新 SSL 的繁瑣流程,更能避免因過期導致的網站信任危機。此方法適用於長期運行的伺服器,尤其適合中小型企業或個人開發者。定期檢查日誌(/var/log/letsencrypt/
)可進一步確保自動化流程穩定運行。