IT筆記 : 如何在 Ubuntu 22.04 上的 Nginx 安裝 Let's Encrypt 免費的 TLS/SSL 證書

以前的文章介紹了 

  1. Ubuntu 22.04 Linux 中安裝 Nginx web server
  2. 在 Namecheap或 Freenom申請註冊便宜或免費的網域
為服務器設置了 DNS 記錄之後便可安裝SSL憑證。


第 1 步 — 安裝 Certbot

Certbot 建議使用 snap 包進行安裝。

首先確保已經在Ubuntu 22.04 的 snapd 核心是最新的版本:

$ sudo snap install core; sudo snap refresh core

如果以前安裝了舊版本 certbot ,則應在繼續之前將其刪除:

$ sudo apt remove certbot

之後可以安裝新 certbot 包:

$ sudo snap install --classic certbot

最後,將 snap 安裝目錄中的 certbot 命令鏈接到您的路徑,只需鍵入 certbot 即可運行。

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

 Certbot已經安裝好。


第 2 步 - 確認 Nginx 的配置

Certbot 需要能夠在 Nginx 配置中找到正確的服務器塊,才能自動配置 SSL。

使用 nano 文本編輯器打開您的域的配置文件:

$ sudo nano /etc/nginx/sites-available/default

找到現有的 server_name 行。它應該如下所示:

...

server_name example.com www.example.com;

...

example.com = Web server domain name

如果是,退出編輯器並繼續下一步。

如果不符,更新Nginx config file 以匹配。然後保存文件,退出編輯器,並輸入指令驗證配置編輯的語法:

$ sudo nginx -t

如果出現錯誤,重新打開服務器塊文件並檢查是否有任何拼寫錯誤或缺少字符。配置文件語法正確後,重新加載 Nginx :

$ sudo systemctl reload nginx

Certbot 現在可以找到正確的服務器塊並自動更新它。

接下來,更新防火牆以允許 HTTPS 流量。


第 3 步 — 允許 HTTPS 通過防火牆

檢查防火牆狀態

$ sudo ufw status

Status: active


To                         Action      From

--                         ------      ----

OpenSSH                    ALLOW       Anywhere

Nginx Full                 ALLOW       Anywhere

OpenSSH (v6)               ALLOW       Anywhere (v6)

Nginx Full (v6)            ALLOW       Anywhere (v6)

允許 Nginx Full 以便通過 HTTPS 流量,並刪除多餘的 Nginx HTTP 配置文件允許:


$ sudo ufw allow 'Nginx Full'

$ sudo ufw delete allow 'Nginx HTTP'


第 4 步 — 獲取 SSL 證書

$ sudo certbot --nginx -d example.com -d www.example.com

example.com = domain name



SSL證書已下載、安裝和加載,重新加載網站並留意瀏覽器,帶有鎖定圖標表示網站使用 HTTPS加密。



SSL Lab 網站 SSL Server Test測試網路服務器,獲得 A 級。



第 5 步 — 驗證 Certbot 自動續訂

Let's Encrypt 的證書有效期只有九十天。安裝的 certbot 包通過添加一個每天運行兩次的 systemd 計時器檢查證書的有效期,並自動更新三十天內到期的證書。

可以使用 systemctl 查詢計時器的狀態:
$ sudo systemctl status snap.certbot.renew.service

測試續訂過程
$ sudo certbot renew --dry-run




如果沒有看到任何錯誤,則一切就緒。如果自動續訂過程失敗,Let's Encrypt 將向指定的電子郵件發送消息,在證書即將到期時接到警告。




Comments

Popular posts from this blog

旅遊筆記 : 吉隆坡前往檳城交通方式及網上購買馬來西亞KTM火車票教學

旅遊筆記 : 馬來西亞電動 Platinum ETS 列車初體驗

閒遊深水灣、淺水灣觀無敵海景,順走赤柱古道訪老虎坑、獅子坑古石橋尋歷史。