page counter next up previous contents
Next: Certbot Up: Let's Encrypt Previous: CentOS/DYW 6 Linux 使用   Contents   DYWANG_HOME

Let's Encrypt 憑證更新

  1. Let's Encrypt 憑證有效期三個月,過期前 20 天系統會寄信提醒,可以使用 letscrypt-auto 程式更新,並將其設定成 crontab 例行命令排程,就可以省去所有更新憑證的工作。先切換到 letscrypt-auto 程式目錄。
    [root@ait ~]# cd bin/letsencrypt/letsencrypt-master
    
  2. 執行 letscrypt-auto 程式前必須先停止 httpd 服務。
    [root@ait letsencrypt-master]# /etc/init.d/httpd stop
    
  3. 執行 letscrypt-auto 程式。
    [root@ait letsencrypt-master]# ./letsencrypt-auto certonly -tvv --standalone --keep -d ait.csie.cyut.edu.tw
    
  4. 再啟動 httpd 服務。
    [root@ait letsencrypt-master]# /etc/init.d/httpd start
    
  5. 撰寫 letscrypt-renew.sh 自動更新憑證腳本。
    [root@ait letsencrypt-master]# vim letsencrypt-renew.sh
    [root@ait letsencrypt-master]# cat letsencrypt-renew.sh
    #!/bin/bash
    
    [ -z "$1" ] && dom='ait.csie.cyut.edu.tw' || dom="$1"
    dir=/root/bin/letsencrypt/letsencrypt-master
    /etc/init.d/httpd stop
    if ! $dir/letsencrypt-auto certonly -tvv --standalone --keep -d $dom > /var/log/letsencrypt/renew.log 2>&1 ; then
        echo Automated renewal failed:
        #cat /var/log/letsencrypt/renew.log
        exit 1
    fi
    [root@ait letsencrypt-master]# chmod 700 letsencrypt-renew.sh
    
  6. 設定 crontab 例行命令定期執行 letscrypt-renew.sh 腳本。
    [root@ait letsencrypt-master]# crontab -e
    [root@ait letsencrypt-master]# crontab -l
    39 4 20 1,3,5,7,9,11 * /root/bin/letsencrypt/letsencrypt-master/letsencrypt-renew.sh ait.csie.cyut.edu.tw
    



De-Yu Wang 2020-05-19