免費申請SSL憑證機器人:Certbot快速申請自動續約https網域憑證

快速申請網域證書,自動續約,Certbot 是一個免費的開源軟體工具,用於在手動管理的網站上自動使用Let's Encrypt證書以啟用HTTPS。

什麼是Certbot?

Certbot 是一個免費的開源軟體工具,用於在手動管理的網站上自動使用Let's Encrypt憑證以啟用HTTPS。
Certbot 由電子前沿基金會(EFF) 開發,這是一個位於加州舊金山的501(c)3 非營利組織,旨在捍衛數位隱私、言論自由和創新。

免費SSL憑證機器人:Certbot快速申請自動續約https網域憑證

證書機器人網站:https://certbot.eff.org/

快速申請免費SSL域名證書

首先打開EFF官方網站https://certbot.eff.org/

點選certbot指令,進入到申請頁面上。

免費SSL憑證機器人:Certbot快速申請自動續約https網域憑證

在Software中選擇你伺服器上使用的HTTP服務端,在後面的System中選擇你伺服器的作業系統,以下以Centos8下的Nginx為例子,快速申請https網域名稱憑證。

CentOS 8 下的Nginx申請免費SSL證書

Certbot snap 支援x86_64、ARMv7 和ARMv8 架構。雖然我們強烈建議大多數用戶透過snap 安裝Certbot,但您可以在此處找到替代安裝說明。

1.SSH 進入伺服器

以具有sudo 權限的使用者身分透過 SSH 連線到執行您的HTTP 網站的伺服器。

2.安裝snapd

您需要安裝snapd 並確保按照任何說明啟用經典snap 支援。
按照snapcraft 網站上的這些說明安裝snapd

在CentOS8 上安裝snap

從7.6 版本開始,Snap 可用於CentOS 8和CentOS 7。它也可用於Red Hat Enterprise Linux (RHEL) 7.6+。

CentOS 8 和CentOS 7 的軟體包位於每個發行版各自的Extra Packages for Enterprise Linux (EPEL) 儲存庫中。在CentOS 8 和CentOS 7 之間新增此儲存庫的說明略有不同,這就是它們在下面單獨列出的原因。

如果您需要知道您執行的是哪個版本的CentOS,請輸入:

cat /etc/centos-release

如果您還沒有將CentOS 儲存庫新增至您的發行版中,可以如下新增。

可以使用以下命令將EPEL 儲存庫新增至CentOS 8 系統:

sudo dnf install epel-release sudo dnf upgrade

安裝snapd

將EPEL 儲存庫新增至CentOS 安裝後,只需安裝snapd套件:

dnf -y install snapd

安裝後,需要啟用管理主snap 通訊套接字的systemd單元:

sudo systemctl enable --now snapd.socket

要啟用經典snap 支持,請輸入以下內容以在/var/lib/snapd/snap和之間建立符號連結/snap:

sudo ln -s /var/lib/snapd/snap /snap

注意:重新啟動系統以確保正確更新snap 的路徑。 Snap 現已安裝並準備就緒了!

3.確保您的snapd 版本是最新的

在機器上的命令列執行以下說明,確保您擁有最新版本的snapd。

sudo snap install core

4.刪除certbot-auto 和任何Certbot OS 包

如果您使用作業系統套件管理員(如apt、dnf或)安裝了任何Certbot 套件yum,則應在安裝Certbot snap 之前將其刪除,以確保在執行命令時使用的certbot是snap,而不是從作業系統套件管理員安裝。具體的命令做到這一點取決於您的作業系統,centos8的卸載命令:

sudo dnf remove certbot

如果您之前透過certbot-auto 腳本使用過Certbot,您也應該按照此處的說明刪除其安裝。

5.安裝免費SSL憑證機器人

在機器上的命令列上執行此命令以安裝Certbot。

sudo snap install --classic certbot

6.準備Certbot 指令

在機器上的命令列執行以下指令,確保certbot命令可以運作。

sudo ln -s /snap/bin/certbot /usr/bin/certbot

7.選擇您希望如何運行Certbot

手動設定證書:如果您只想申請證書,並希望手動更改nginx 配置,請執行此命令。

sudo certbot certonly --nginx

自動設定證書:執行下面命令以取得證書並讓Certbot 自動編輯您的nginx 配置以提供服務,只需幾個步驟即可開啟HTTPS 存取。

sudo certbot --nginx

如果你想在原有的內部新增域名,在nginx中設定好域名後,使用自動設定證書指令就可以將域名加入原有證書內。

第一步:輸入電子郵件地址(用於緊急續約和安全通知)(輸入'c'取消):輸入你的電子郵件,或按C 取消。

第二步:請閱讀服務條款,網址為https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf。 你必須同意以註冊ACME 伺服器。 你同意?選擇:Y

免費SSL憑證機器人:Certbot快速申請自動續約https網域憑證

第三步:一旦您的第一個憑證成功頒發,您是否願意與電子前沿基金會分享您的電子郵件地址Let's Encrypt 專案和非營利組織的合作夥伴開發Certbot? 我們想向您發送有關我們加密網路工作的電子郵件,EFF 新聞、活動和支持數位自由的方式。選擇:Y

免費SSL憑證機器人:Certbot快速申請自動續約https網域憑證

第四步:您要為哪些名稱啟動HTTPS?選擇用逗號和/或空格分隔的適當數字,或留下輸入空白選擇顯示的所有選項(輸入「c」取消):回車後開始

免費SSL憑證機器人:Certbot快速申請自動續約https網域憑證

成功獲得證書。
憑證保存在:/etc/letsencrypt/live/uzbox.tk/fullchain.pem
金鑰保存在:/etc/letsencrypt/live/uzbox.tk/privkey.pem
該證書將於2022-03-07 到期。這些文件將在證書續約時更新。 Certbot 已經設定了一個排程任務在後台自動更新這個憑證。

部署憑證
uzbox.tk憑證成功部署到/etc/nginx/nginx.conf
恭喜! 您已在 https://uzbox.tk 上成功啟用HTTPS

8.免費SSL自動續約測試

您系統上的Certbot 軟體包隨附一個cron 作業或systemd 計時器,它們會在您的憑證到期之前自動更新您的憑證。除非您變更配置,否則您無需再次執行Certbot。您可以透過執行以下命令來測試憑證的自動續訂:

sudo certbot renew --dry-run

更新certbot 的命令安裝在以下位置之一:

  • /etc/crontab/
  • /etc/cron.*/*
  • systemctl list-timers

9.確認Certbot 工作

若要確認您的網站設定正確,請造訪您的網站是否能正常打開,並在瀏覽器的URL 欄中尋找鎖頭的圖示。

10.如何在ssl憑證內新增域名

在同一台伺服器上建立多個網站的時候,每個網站的網域都需要申請。 Certbot憑證機器人可以將nginx內的所有域名,統一存放在一套ssl憑證中。方便SSL憑證管理更新維護!

新增加網域名稱到SSL憑證中的方法:

在nginx中配置綁定你需要申請證書的新域名,域名綁定後,重新啟動nginx服務,或者重新啟動伺服器使nginx配置生效。

重啟(不停止nginx,使修改配置生效):

systemctl reload nginx

重啟:

systemctl restart nginx

查看服務狀態:

systemctl status nginx

然後在伺服器上輸入下面的命令,使用Certbot證書機器人開始申請證書。

sudo certbot certonly --nginx

使用上面命令,手動設定SSL域名憑證。

Saving debug log to /var/log/letsencrypt/letsencrypt.log Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: - - - - - - - - - - - - - - - - - - - - - - - n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c'or leave input blank to select all options shown (Enter 'c'

按下回車鍵進行下一步申請。

You have an existing certificate that contains a portion of the domains you requested (ref: /etc/letsencrypt/renewal/uzbox.tk.conf) It contains these names: 證書中原有的域名You requested these names for the 晚的網域名稱後,Athmate and this mean names fors 的網域名稱後,Athmate this 格式 - 兩個域名existing certificate with the new certificate? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (E)xpand/(C)ancel: e

按E進行下一步操作。

Renewing an existing certificate for uzbox.tk and 4 more domains Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/uzbox.tk/fullchain.pem Key is saved): /et/to-cm/t. certificate expires on 2022-04-19. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --

新的域名好了,網域ssl憑證位址還是之前的憑證位址,在nginx中無需更改。

評分

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *