前提條件:
1.已有域名
2.Nginx 已安裝并正在運行,且有對應的 Server 配置
3.防火墻開放 80 和 443 端口
安裝 EPEL 倉庫:
sudo yum install epel-release -y
安裝 Snapd
sudo yum install snapd -y
啟用并啟動 Snapd Socket
sudo systemctl enable --now snapd.socket
創建 Snap 的符號鏈接
sudo ln -s /var/lib/snapd/snap /snap
?確保 /snap/bin在 PATH 中,建議檢查 PATH:
echo $PATH
# 如果沒有 /snap/bin,則手動添加(臨時生效):
export PATH=$PATH:/snap/bin#建議??:將 export PATH=$PATH:/snap/bin添加到你的 ~/.bashrc或 ~/.bash_profile中使其永久生效:
echo 'export PATH=$PATH:/snap/bin' >> ~/.bashrc
source ~/.bashrc
通過 Snap 安裝 Certbot
sudo snap install --classic certbot
創建 Certbot 到 /usr/bin 的軟鏈接
sudo ln -s /snap/bin/certbot /usr/bin/certbot
安裝 Nginx 插件(讓 Certbot 能自動修改 Nginx 配置):
sudo snap set certbot trust-plugin-with-root=ok
sudo snap install certbot-nginx
作用??:
?trust-plugin-with-root=ok:允許 Certbot 使用需要 root 權限的插件(如 Nginx 插件)。
?certbot-nginx:這是 Certbot 的官方插件,用于自動發現你的 Nginx 配置,并在獲取 SSL 證書后 ??自動修改 Nginx 的配置文件以啟用 HTTPS??。
關鍵點??:這個插件是實現 ??“自動配置 Nginx”?? 的核心。
使用 Certbot 自動獲取 SSL 證書并配置 Nginx(將 example.com替換為你的實際域名):
sudo certbot --nginx -d example.com -d www.example.com
檢查 Certbot 版本
certbot --version
測試 Certbot 自動續期
sudo certbot renew --dry-run
#如果沒有報錯,說明自動續期機制正常
重要??:
Let’s Encrypt 的證書只有 90 天有效期,必須定期續期。此命令驗證你的續期配置是正確的。