一、 環境準備
- win10以上操作系統
- 安裝 Certbot
- 申請阿里云\騰訊云域名
- 安裝 nginx 1.3以上版本
二、Certbot 安裝及 SSL 證書生成
Certbot 是一個免費、開源工具,用于自動化在Web服務器上獲取和更新SSL/TLS證書。它可以通過Let’s Encrypt
服務獲取免費的SSL/TLS
證書,這些證書用于保護網站和應用程序的通信,確保數據在傳輸過程中是加密和安全的。
1. Certbot 下載
打開certbot官網地址,選擇相應的操作系統及代理軟件,此處以 Windows操作系統、nginx 服務為例,下載地址為 https://github.com/certbot/certbot/releases/latest/download/certbot-beta-installer-win_amd64_signed.exe

2.運行下載的 .exe 文件,進行安裝
安裝完成后,以管理員模式打開 Windows PowerShell
命令行工具,輸入 certBot
,

以上則表名安裝成功。
3.申請證書
- 域名分為主域名 http://test.com 和泛域名 http://*.test.com。
- 常用命令如下:
certbot certonly -d *.test.com --manual --preferred-challenges dns
certbot certonly -d test.com --manual --preferred-challenges dns
- 此文以申請主域名證書 為例,輸入主域名信息;
certbot certonly -d test.com --manual --preferred-challenges dns
- 輸入個人郵箱信息;
- 確認協議信息及支持信息,兩個都選擇 【yes】;

4.驗證 DNS ,需要按照提示,在你的域名服務商處,添加對應的 DNS TXT 解析記錄。

此處我以我的阿里云域名為例,進行相應配置:
- 檢測生效后,按回車繼續,將生成證書及秘鑰信息:

如果成功的話,它會生成以下文件:

三、nginx 配置
下來配置 nginx 配置,我主要使用 nginx 代理我的前端項目,nginx 請自行安裝。
我的 nginx 默認配置文件在nginx/config/nginx.conf
。
以www.test.com 為例,在nginx/config/nginx.conf 文件中,內容如下:
server {
listen 443 ssl;
server_name www.test.com;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
root /usr/share/nginx/html;
location / {
root html;
index index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
如果能夠正常進行域名https
訪問nginx頁面,則本地配置合適:

四、續期
Certbot 是使用的Let’s Encrypt申請的免費證書,只有 3 個月的有效期,到期之后我們需要再次續期才能繼續使用 HTTPS 協議。
4.1 手動續期
你需要自己記錄證書到期的時間,在證書到期之前,從新生成一個新的證書
certbot certonly -d test.com --manual --preferred-challenges dns
代碼解讀
然后根據上文中的 DNS TXT 解析 步驟再配置一次即可,證書保存位置沒有變化的話,NGNIX 不需要更新配置。
4.2 自動續期(待驗證)
每次都手動配置 DNS 解析挺麻煩的,而且還容易遺忘,更新不及時容易造成服務崩壞。
certbot 提供了一個 hook,可以編寫一個 Shell 腳本,在需要續期的時候讓腳本調用 DNS 服務商的 API 接口動態添加 TXT 記錄,驗證完成后再刪除此記錄,達到自動續期的效果。
使用阿里云服務的話,可以參考腳本:
GitHub 項目 certbot-dns-aliyun
項目地址: https://github.com/justjavac/certbot-dns-aliyun
安裝和使用指南在README 中有詳細說明
?轉自https://blog.csdn.net/dazhong2012/article/details/144720569
該文章在 2025/6/10 15:06:36 編輯過