close

現場(環境):CentOS7         套件:let’s encrypt

 


原因:

目前申請的Let’s Encrypt憑證預計兩個月就會到期,

而在到期前沒有進行更新憑證動作的話,那個憑證就會自動被註銷。

這邊需要特別注意。

 


處理方式:

有兩種處理方式: 1) 手動   2)自動

就工程師比較忙的狀況下。當然是自動輕鬆點。

但要使用自動更新前。還是要知道一下手動怎麼做。

 

 


重要的提醒!

1) 更新前要確認你的伺服器可以正常的連線外部網路

2) 更新前要關閉伺服器上相關WEB服務。不然更新會失敗。

#systemctl stop httpd

 


Step 1. 先切換到上次申請憑證時,透過git抓回來的letsencrypt路徑。

我是抓到 root 路徑下。

#cd /root/letsencrypt

申請方式的執行指令是下面這個,當然你要直接重新申請也是可以。

#./certbot-auto certonly -a standalone -d 申請的網址

 


但比較主要的作法是更新

# ./letsencrypt-auto renew

下圖是因為上面我先重新做了一次憑證,所以發現過期時間很久。

還不用更新憑證才出現這個錯誤。

 

正常狀況下,是可以完成更新的。

 


更新完確認一下你的服務器。憑證是設定到那邊。

例如:httpd的設定會寫在 /etc/httpd/conf.d/ssl.conf裏面

確認這三個設定,確定一下後面的路徑在那邊。

 

SSLCertificateFile

SSLCertificateKeyFile

SSLCertificateChainFile

 

然後把更新完的憑證覆蓋到先前置放憑證的路徑下。

重啟httpd服務就可以了。

#systemctl restart httpd

 


 

其實更新的指令就只有 ./letsencrypt-auto renew

自動更新就是將上面的動作寫成shell 放到crontab中執行。

因為只有輸入cp會被環境(alias)影響。直接帶上-i參數,

有覆蓋行為時會詢問,不想要發生這個問題就直接帶完整路徑/bin/cp執行就可以。

 

=!===

#/bin/bash

systemctl stop httpd

[letsencrypt路徑]/letsencrypt-auto renew

#如果有要把憑證移動路徑。也寫在Script

/bin/cp -rf  /etc/letencrypts/live/[網址]/憑證 [放置憑證的路徑]

systemctl start httpd

===!=

 

寫完記得賦與這個shell可以執行的權限

#chmod +x [更新shell Script檔案]

 


設定crontab排程

參考網址內說的是每2個月的1號進行更新。

所以這邊要注意,依照你申請憑證的時間設定。

我請時間是12號,所以crontab 的第3欄位輸入日期。

#crontab -e

=!===

0 0 12 */2 * sh [更新letsencrypt憑證的Shell路徑]

===!=

<本篇完>

 


參考網址:

https://oxygentw.net/computer/letsencrypt-auto-renew/

arrow
arrow
    全站熱搜

    IT001 發表在 痞客邦 留言(1) 人氣()