如何利用letsencrypt實(shí)現(xiàn)Ubuntu自動(dòng)續(xù)簽

小樊
81
2024-10-11 02:52:38

Let’s Encrypt 提供了免費(fèi)的 SSL 證書,但它們會(huì)在 90 天后過(guò)期。為了實(shí)現(xiàn)自動(dòng)續(xù)簽,你可以使用 Certbot 和它的自動(dòng)續(xù)簽功能。以下是在 Ubuntu 上設(shè)置自動(dòng)續(xù)簽的步驟:

  1. 首先,確保你已經(jīng)安裝了 certbot 和 certbot-apache。如果沒(méi)有,請(qǐng)使用以下命令安裝:
sudo apt update
sudo apt install certbot python3-certbot-apache

對(duì)于 Nginx 服務(wù)器,請(qǐng)使用以下命令安裝:

sudo apt install certbot python3-certbot-nginx
  1. 安裝完成后,運(yùn)行 certbot 命令來(lái)獲取并安裝證書。對(duì)于 Apache 服務(wù)器:
sudo certbot --apache

對(duì)于 Nginx 服務(wù)器:

sudo certbot --nginx
  1. certbot 會(huì)提示你選擇一個(gè)域名進(jìn)行認(rèn)證。輸入你的域名,然后按照提示完成認(rèn)證過(guò)程。成功后,你的網(wǎng)站將使用 Let’s Encrypt 頒發(fā)的 SSL 證書。

  2. 為了實(shí)現(xiàn)自動(dòng)續(xù)簽,你需要配置 certbot 的定時(shí)任務(wù)。在 Ubuntu 上,你可以使用 cron 來(lái)實(shí)現(xiàn)。首先,打開(kāi) crontab 編輯器:

crontab -e
  1. 在編輯器中,添加以下行以每小時(shí)運(yùn)行一次 certbot 的自動(dòng)續(xù)簽?zāi)_本。這將確保證書在到期前自動(dòng)更新。
0 * * * * certbot renew --quiet && systemctl reload nginx

對(duì)于 Apache 服務(wù)器,將 nginx 替換為 apache

0 * * * * certbot renew --quiet && systemctl reload apache2
  1. 保存并退出編輯器?,F(xiàn)在,你的 Ubuntu 系統(tǒng)將每小時(shí)運(yùn)行一次 certbot 的自動(dòng)續(xù)簽?zāi)_本,確保你的 SSL 證書始終保持最新。

注意:自動(dòng)續(xù)簽?zāi)_本在第一次運(yùn)行時(shí)可能會(huì)失敗,因?yàn)樗枰螺d并安裝新的證書。但在此之后的運(yùn)行應(yīng)該可以成功續(xù)簽證書。如果你遇到問(wèn)題,請(qǐng)檢查 certbot 的日志文件以獲取更多信息。

0