IT筆記 : 如何在 Ubuntu 22.04 上的 Nginx 安裝 Let's Encrypt 免費的 TLS/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
Comments