文章彙整

使用Cerbot 更新SSL認證

By Astral Web 1 year agoNo Comments
首頁  /  網站設計與開發  /  使用Cerbot 更新SSL認證

使用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-timerssystemctl 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粉絲專頁喔!

 

延伸閱讀:

網路連線的保全-帶你認識SSL/TLS/HTTPS

SSL安裝教學

以上內容由Astralweb 歐斯瑞編寫製作

 000

推薦文章

Category:
  網站設計與開發

留下回應

你的電子郵件地址不會被公開.

取得獨家電子商務祕技

建立更好的策略靈感

跟上全球的網路趨勢

絕佳的電商解決方案

電子商務戰略全指南

每月發送電商戰略指南,只要填寫E-mail即可訂閱!

請到您的信箱確認,即可完成訂閱。