使用Certbot 更新SSL認證
Debian cerbot 套件包含兩種SSL認證機制:cron和system timer。
Cronjob
你的cronjob應該在這裡 /etc/cron.d/certbot
此檔案內容:
# Eventually, this will be an opportunity to validate certificates # haven't been revoked, etc. Renewal will only occur if expiration # is within 30 days. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew
此cron job將會每12小時執行一次,在 file /usr/bin/certbot 擁有執行檔許可以及沒有dir /run/systemd/system的情況下,它會執行更新過的指令,但是如果它偵測到dir /run/systemd/system/存在是因為你在跑systemd,它就不會執行更新的指令;原因是因為你在安裝cerbot套件時所配置的systemd timer (一種systemd 用的cron job)的關係。
systemd timer
你可以以下的指令檢查你的systemd timer: systemctl list-timers 或 systemctl list-timers –all 如果你也想要讓不活躍的timer秀出來,以下的指令有幫助:
# systemctl list-timers --all NEXT LEFT LAST PASSED UNIT ACTIVATES Sun 2016-12-11 00:00:00 CET 9h left Sat 2016-12-10 13:48:13 CET 38min ago certbot.timer certbot.service Sun 2016-12-11 14:03:12 CET 23h left Sat 2016-12-10 14:03:12 CET 23min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service n/a n/a n/a n/a systemd-readahead-done.timer systemd-readahead-done.service 3 timers listed.
Certbot timer 應該在這裡/lib/systemd/system/certbot.timer
精確來說,他應該會在這裡執行指令 /lib/systemd/system/certbot.service
Certbot timer 會從中午12點到晚上12點執行certbot service
# cat /lib/systemd/system/certbot.timer [Unit] Description=Run certbot twice daily [Timer] OnCalendar=*-*-* 00,12:00:00 RandomizedDelaySec=3600 Persistent=true [Install] WantedBy=timers.target
certbot服務會在這裡執行更新的指令
# cat /lib/systemd/system/certbot.service [Unit] Description=Certbot Documentation=file:///usr/share/doc/python-certbot-doc/html/index.html Documentation=https://letsencrypt.readthedocs.io/en/latest/ [Service] Type=oneshot ExecStart=/usr/bin/certbot -q renew --post-hook “<command to reload webserver>” PrivateTmp=true
這是稍微修正過的版本 /lib/systemd/system/certbot.service 因為我們必須在認證更新(如果有成功的話) 重新載入網頁伺服器,直接把–post-hook加在正確的指令前來重新載入你在用的網頁伺服器。
SSL憑證保護已經被Google正式列為網頁排名考量因素之一,因此幫自己的網站加裝SSL是有助SEO的方法之一,更多關於關於電商營運的知識,別忘訂閱歐斯瑞電子報,以及追蹤我們的Facebook粉絲專頁喔!
延伸閱讀:
我要留言