上一章節我們講解如何申請 domain 並且實作 SSL,但是 OpenSSL 不便之處在於三個月憑證會過期並且需要重新申請,網頁的 https 也代表著將過期而無法連線,故這邊我們來聊聊如何自動化 openSSL 並且實作它。
Step1 新增更新程式腳本
sudo /opt/bitnami/ctlscript.sh stop nginx
sudo /opt/bitnami/letsencrypt/lego —-tls -—email="wowfuncode@gmail.com" -—domains="www.wowfuncode.com" —path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start nginx
首先我們先停止 webserver 服務器 nginx
接著透過 letsencrypt 產生新的 SSL 憑證
再重啟 nginx 基本上就完成了
Step2 設定 Crontab 自動排程
0 0 1 * * sh /opt/bitnami/letsencrypt/scripts/renew-certificate.sh 1>> /opt/bitnami/letsencrypt/logs/renew-log 2>> /opt/bitnami/letsencrypt/logs/renew-error
這個指令代表每個月 1 號定期執行我們剛剛好寫好的腳本 renew-certificate.sh,假如正確執行則寫 log 進 renew-log,反之錯誤則寫入進 renew-error 等 log 檔案。
sudo service cron start
如此一來,openSSL三個月一定會在月底 23:59:59 過期,而更新憑證則會發生在每月的 1 號進行,確保絕對不會遺漏憑證。
補充:更多 Crontab 腳本設定可以參考
Linux 設定 crontab 例行性工作排程教學與範例 - G. T. Wang
Step3 檢驗 log
看起來沒問題,也能透過進行檢驗 SSL Checker 進行 SSL 檢驗
以上是自動化 SSL 過程以及檢驗是否正確運行,那麼我們下次見囉~
《精采文章同步發表》
1.我瘋FB粉絲專頁:https://www.facebook.com/我瘋程式工作室wowfuncode-102683961458110/
2.我瘋官網:https://www.wowfuncode.com/category/blog/