知識庫 使用 Profitserver 服務的簡單說明

Certbot:安裝 Let's Encrypt 證書


在本文中,我們將探討安裝和設定的過程 Certbot 在 Linux 伺服器上。我們將詳細解釋 如何取得 Let's Encrypt SSL/TLS 憑證 為您的域名。我們還將描述如何在 Web 伺服器(例如 Nginx 或 Apache)上安裝它並設定自動憑證更新以確保與您的 Web 資源持續安全的連線。

Certbot 是一個免費的開源工具,旨在自動獲取和更新 SSL/TLS 憑證。它在保護伺服器和客戶端之間的連接、保護資料免遭未經授權的存取方面發揮著至關重要的作用。 Certbot 簡化了 SSL 憑證的安裝和更新過程。證書不僅可以增強安全性,還可以增強用戶對您的網路資源的信任,從而提高網站的聲譽和搜尋引擎排名。

安裝 Certbot

Certbot 預設包含在大多數發行版中,因此要將其安裝在 於Debian / Ubuntu 系統,你只需要更新軟體包列表:

apt update

然後,啟動安裝程序:

apt install certbot

Certbot 支援方便設定和設定 Web 伺服器憑證的插件。要安裝這些插件,請使用相應的命令:

apt install certbot python3-certbot-nginx # for Nginx apt install certbot python3-certbot-apache # for Apache

安裝過程為 紅帽 系統(例如 RHEL, CentOS的, Fedora) 略有不同。首先,您需要新增 EPEL 儲存庫:

yum install epel-release

然後安裝該工具:

yum install certbot

類似地,還有一個為特定 Web 伺服器選擇插件的選項:

yum install python3-certbot-nginx # for Nginx yum install python3-certbot-apache # for Apache

安裝後,您可以立即取得證書。

取得 SSL 憑證

在本節中,我們將討論獨立於特定 Web 伺服器取得憑證的過程,然後描述為 Nginx 和 Apache 安裝憑證的過程。然而,首先必須了解該程式的語法和功能。其顯示如下:

certbot command option -d domain

主要命令包括:

certbot certonly - 檢索憑證但不安裝它。
certbot certificates - 此指令顯示所有已安裝憑證的清單。
certbot renew - 擴充現有證書。
certbot revoke - 撤銷現有證書。
certbot delete - 刪除現有證書。

最常用的選項是:

--nginx - 使用 Nginx 設定腳本進行網域驗證。
--apache - 使用 Apache 設定腳本進行網域驗證。
-d - 請求憑證的網域清單。
--standalone - 使用獨立模式進行網域驗證。
--manual - 執行手動網域驗證。

這只是最常用的命令和選項的範例。您可以在說明部分中熟悉程式功能的完整清單:

certbot –help
Certbot 工具的說明部分

我們現在開始取得證書。例如,我們將獲得一個 虛擬服務器 獲得免費的三級域名,例如 yourusername.pserver.space

首先需要輸入命令:

certbot certonly

作為回應,該實用程式將要求您選擇一種驗證網域所有權的方法:

如何取得 Certbot SSL 憑證

如果您沒有設定的 Web 伺服器或不想變更現有的 Web 伺服器,則第一個選項很方便。此方法會建立一個臨時的 Web 伺服器來確認您對網域名稱的權利。它非常適合簡單且快速的設定。選擇此方法時,保持連接埠 80 空閒非常重要。

如果您已經有一個運行的 Web 伺服器,並且想要使用它來驗證網域的權限,則第二個選項是更好的選擇。 Certbot 將特殊檔案放在您伺服器的資料夾中,然後由認證中心檢查這些檔案。

我們選擇第一個選項,然後點擊下一步。在此階段,您需要:

  1. 輸入電子郵件地址;
  2. 同意服務條款;
  3. 代表公司及其合作夥伴同意或拒絕接收電子郵件;
  4. 指定頒發證書的網域名稱。
取得 SSL 憑證所需的數據

使用 Certbot 工具完成證書頒發程序後,它將指示儲存頒發的證書和您的帳戶資料的目錄路徑:

已取得 SSL 憑證的數據

剩下的就是將獲得的證書連結到所需的服務。

安裝 Nginx 或 Apache 的憑證

本節假設某些基本條件已經滿足:

  1. 您已經安裝並設定了 Web 伺服器,Nginx 或 Apache。它必須可以透過您打算取得憑證的網域名稱從網路上存取;
  2. 在安裝工具的過程中,您也使用適當的命令安裝了 Nginx 或 Apache 的插件;
  3. 防火牆允許連接埠 80 和 443 上的連線。如果這些連接埠對連線關閉,則服務將無法用於傳入連線。有關防火牆操作的更多詳細信息,我們在以下文章中進行了討論 在 Linux 上設定防火牆.

一旦所有條件都滿足,您就可以直接進行證書頒發。我們將以 Nginx 為例,考慮在伺服器上取得 SSL 憑證的過程。但是,如果您使用的是 Apache Web 伺服器,則該過程完全相同。

要取得證書,需要輸入命令:

certbot --nginx # for Nginx certbot --apache # for Apache

作為回應,該工具將要求:電子郵件地址、同意 Let's Encrypt 服務的使用條款以及代表該服務及其合作夥伴發送電子郵件的權限。

取得 Nginx 和 Apache 的 SSL 憑證

接下來,您需要指定頒發憑證的網域名稱。如果在下列位置指定了網域,則 Certbot 可以自動確定該域: 服務器名稱 字段為 Nginx的 配置或 服務器名稱 ServerAlias 對於 阿帕奇。如果沒有指定,程式將通知您並要求您手動輸入網域名稱。然後,該實用程式將詢問是否啟用從 ​​HTTP 到 HTTPS 協定的請求重定向。要設定自動重定向,您應該選擇第二個選項:

將請求從 HTTP 重新導向到 HTTPS

一段時間後,Certbot 將通知您已成功取得指定網域的憑證。從此時起,所有傳入連線將從連接埠 80 重新導向到 443。該工具將顯示您可以在其中找到所有證書資料和 Let's Encrypt 帳戶詳細資訊的目錄:

成功頒發 Certbot 證書

該訊息還將指定所獲得證書的有效期限以及管理所有有效證書的重要選項:

  1. 確實。此選項用於在沒有自動 Web 伺服器設定的情況下取得或更新憑證。 Certbot 只會要求或更新證書,但不會對伺服器設定進行任何自動變更。以前,我們使用此選項來取得證書,而不依賴 Web 伺服器。
  2. 更新 用於自動更新所有透過 Certbot 取得且在有效期限內的憑證。程式將檢查所有證書,如果其中任何一個證書在 30 天或更短時間內過期,則將自動更新。

接下來在說明中,我們將討論如何設定每三個月無需用戶幹預的證書自動更新。

Certbot 中的自動憑證更新

對於 Debian/Ubuntu

當使用這些作業系統時,Certbot 會自動將腳本新增至任務清單中,用於自動更新已安裝的憑證。您可以使用以下命令檢查腳本的功能:

systemctl status certbot.timer
檢查 certbot.timer 服務的狀態

回應將顯示服務的狀態,以及包含設定檔的目錄。您可以使用任何文字編輯器來開啟它。如果你不熟悉 Linux 中的文字編輯器,我們建議你熟悉 我們的概述 最受歡迎的解決方案。在這種情況下,我們將使用 nano:

nano /lib/systemd/system/certbot.timer
查看 certbot.timer 的配置

所有重要參數均突出顯示:

  1. 時間表顯示該服務將每天運行兩次,分別於00:00和12:00;
  2. 第二個值表示將會加到計時器啟動時的隨機延遲秒數。在這種情況下,它是43,200秒(12小時),這使得啟動更加隨機,並分散了負載;
  3. 此參數確保如果計時器應該在系統關閉期間執行,則它將在啟動時立即啟動。

您也可以使用以下命令執行強制憑證更新檢查:

certbot renew --dry-run

使用此命令,證書將不會被更新。相反,該工具將在證書到期後執行類似於獲取證書的操作。這樣,您可以確保該服務的自動續訂功能。

對於 CentOS、Fedora 和其他系統

在 Red Hat 系列系統上啟用自動更新的過程略有不同。與 Debian/Ubuntu 不同,對於 CentOS 和其他系統,您需要手動將任務新增至排程器。為此,我們將使用 cron的 工具:

crontab -e

然後,在開啟的文件中加入以下行:

0 12 * * * /usr/bin/certbot renew --quiet

讓我們分解一下該命令的主要參數:

  1. 執行時間。這樣的話,該指令會在每天12點自動執行;
  2. 使用 Certbot 更新 SSL/TLS 憑證的命令;
  3. - 安靜的 標誌抑制輸出,使進程更加隱蔽,在系統日誌或顯示中更少干擾。

新增命令後,需要儲存檔案中的變更。

與 Debian/Ubuntu 一樣,您也可以啟動強制憑證更新檢查:

certbot renew --dry-run

命令成功執行的結果如下:

續訂命令檢查成功的結果

結論

我們探索了在 Linux 伺服器上安裝和設定 Certbot 的全面過程。按照提供的說明,您可以成功從 Let's Encrypt 取得 SSL/TLS 證書,將其安裝在您的 Web 伺服器上,並設定自動續訂,以確保持續保護並增強對您的 Web 資源的信任。使用 Certbot,您可以輕鬆為使用者建立一個可靠、安全的環境。

⮜ 上一篇文章 減少伺服器負載
下一篇文章⮞ Linux 軟體套件管理器

向我們諮詢有關 VPS 的問題

無論白天或黑夜,我們隨時準備好解答您的問題。