Ubuntu 18 LTS 下為 Nginx 站點開啟 HTTPS (Lets-Encrypt)

Summer發表於2019-11-28

說明

本文是在 Ubuntu Nginx 下新增 Lets-Encrypt 時的記錄。

第一步、新增 PPA

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update

第二步、安裝 Certbot

sudo apt-get install certbot python-certbot-nginx

第三步、開始認證

sudo certbot --nginx

以上命令會自動讀取 Nginx 裡的配置,並羅列所有站點,輸入數字來選擇要新增 HTTPS 的站點,例如以下的輸入 1 並按Enter鍵繼續:

Ubuntu 18 LTS 下為 Nginx 站點開啟 HTTPS

如果你要認證多個站點,使用 , 逗號分隔站點的序號,如 1,2

接下來是選擇是否要強制 HTTPS,選項 1 是不強制,選項 2 是強制。強制 HTTPS 的意思是當有人訪問 HTTP 協議的連結時,會自動 301 跳轉到對應 HTTPS 連結上。輸入選項,然後按Enter鍵:

Ubuntu 18 LTS 下為 Nginx 站點開啟 HTTPS

第四步、自動更新

Lets Encrypt 的認證過期時間是 3 個月,所以需要有一個計劃任務在沒過期之前進行重新驗證。

Certbot 工具自帶了一個定時任務,原理是在安裝的時候建立 /etc/cron.d/certbot 任務,你無需做任何操作。


Practice makes perfect.

相關文章