一、前言
? ? ? ? 騰訊云、阿里云等平臺都支持免費的SSL證書申請,但只支持單域名SSL證書申請,不支持泛域名證書申請,而且每年只有20張免費證書額度,自2024年4月25日之起免費申請的證書只有3個月有效期。域名比較多的情況下,更新就變得非常麻煩。
? ? ? ? Let’s Encrypt 是一家免費、開放、自動化的公益性證書頒發機構(CA),提供免費SSL證書申請,并且支持泛域名證書申請,一個證書就能支持很多個域名,多個網站共同使用。不僅如此,它還支持證書自動續期,通過一次的定時任務設定,就可以在三個月證書到期時自動續期,達到永久使用證書的效果。
二、為什么要進行域名驗證
?? ? ? ?申請SSL證書時進行域名驗證的主要原因是確保證書只頒發給有權控制特定域名的實體。這是為了保證互聯網的安全性和信任,防止惡意方獲取不屬于他們的域名的SSL證書,進而保護用戶免受中間人攻擊、數據竊取和其他形式的網絡犯罪。
三、申請SSL證書
Let’s Encrypt 網站地址:樂此加密-免費SSL證書申請(Let's Encrypt)
1、注冊賬號
2、登錄
3、申請SSL證書
點擊“免費證書申請” 或者 “申請證書”
輸入域名,可勾選泛域名,包含根域
點擊“點擊獲取驗證碼” 輸入驗證碼后點擊“確定”
這里新手可以看一下新手必看
申請SSL證書,如何完成域名驗證_51ssl怎么驗證域名-CSDN博客文章瀏覽閱讀3.6k次,點贊11次,收藏12次。為了網絡數據傳輸安全,我們需要使用https協議來進行網站數據傳輸,這時就需要申請SSL證書。常用的SSL證書可以通過很多網站進行購買,也可以通過Let's Encrypt來申請免費的SSL證書,使用 www.letsencrypt.top (樂此加密)網站可以快速完成免費的SSL證書申請。根據網友的反饋,發現很多人在申請SSL證書時,都卡在了完成域名驗證這一操作,不太理解這個驗證是怎么回事,不知如何操作。這篇文章我們就來講一講,在申請SSL證書時,如何完成域名驗證。_51ssl怎么驗證域名https://blog.csdn.net/yangjing19910801/article/details/145815648復制上面1,2,3后,保存下
在到域名提供商添加解析記錄,我這邊是阿里云-計算,為了無法計算的價值
點擊鏈接進去阿里云,在控制臺中,找到域名
點擊解析,
點擊添加記錄
回到樂此加密Let’s Encrypt(樂此加密)點擊“立即驗證”
然后等待證書驗證和簽發,簽發后列表如下
點擊下載
手動部署,可以點擊邊上的下載,下載自己需要的證書,部署到服務器上,不知道如何部署的,可以點擊邊上的“幫助”。幫助的部署方法鏈接我也放到下面了,供小伙伴們閱覽
Nginx或Tengine服務器配置SSL證書_tengine-3.1.0 ssl證書-CSDN博客文章瀏覽閱讀2.1k次,點贊19次,收藏18次。本文將全面介紹如何在Nginx或Tengine服務器配置SSL證書,具體包括下載和上傳證書文件,在Nginx上配置證書文件、證書鏈和證書密鑰等參數,以及安裝證書后結果的驗證。成功配置SSL證書后,您將能夠通過HTTPS加密通道安全訪問Nginx服務器。_tengine-3.1.0 ssl證書https://blog.csdn.net/yangjing19910801/article/details/145416270Apache服務器安裝配置SSL證書_apache ssl證書配置-CSDN博客文章瀏覽閱讀1.7k次,點贊24次,收藏14次。本文介紹如何在Apache服務器配置單域名或多域名以及通配符域名的SSL證書。成功配置SSL證書后,您將能通過HTTPS加密通道安全訪問Apache服務器,確保數據傳輸的安全性。_apache ssl證書配置
https://blog.csdn.net/yangjing19910801/article/details/145529819Tomcat服務器安裝SSL證書_樂此加密-CSDN博客文章瀏覽閱讀1.4k次,點贊21次,收藏5次。本文介紹了在Tomcat服務器上配置PFX(也稱為PKCS12)格式SSL證書的方法,包括證書文件的下載與上傳、配置證書參數及安裝后的驗證步驟。完成配置后,用戶可通過HTTPS協議安全訪問Tomcat服務器,保障數據傳輸的安全。_樂此加密
https://blog.csdn.net/yangjing19910801/article/details/145530746IIS服務器SSL證書安裝指南 | 樂此加密【2025最新版】逐步指導在Windows Server的IIS 10/11上安裝SSL證書,包含PFX導入、證書綁定、URL重寫規則配置及自動續期解決方案
https://letsencrypt.top/pages/iis-ssl-guide.html這里就部署完成了
四、一鍵部署&自動續期
這里免費證書是3個月期限,有效期到,我們就要手動更換證書,這個比較麻煩,特別一些健忘的小伙伴可能會忘記3個月有效期,導致系統無法訪問,客戶體驗不好。
如果我們的服務器聯網了,就可以試一下“一鍵部署&自動續期”,沒有聯網,就只能手動了哈
點擊“自動續費”
選擇,服務器類型,操作系統,輸入地址和命令
nginx.bat 代碼? 控制nginx重新加載
@echo off
setlocal enabledelayedexpansion:: 設置 Nginx 安裝路徑(請修改為你的實際路徑)
set "NGINX_PATH=D:\nginx-1.19.7"
set "NGINX_EXE=%NGINX_PATH%\nginx.exe"
set "PID_FILE=%NGINX_PATH%\logs\nginx.pid"echo 正在檢查 Nginx 狀態...:: 方法1:檢查進程是否存在
tasklist /FI "IMAGENAME eq nginx.exe" 2>NUL | find /I /N "nginx.exe">NUL
if "%ERRORLEVEL%"=="0" (echo Nginx 正在運行,準備重啟..."%NGINX_EXE%" -s reloadif "%ERRORLEVEL%"=="0" (echo Nginx 重啟成功!) else (echo Nginx 重啟失敗,請檢查配置或權限。)
) else (echo Nginx 未運行,準備啟動...start "" "%NGINX_EXE%"if "%ERRORLEVEL%"=="0" (echo Nginx 啟動成功!) else (echo Nginx 啟動失敗,請檢查配置或權限。)
)pause
執行部署
點擊復制上一步生成的證書部署腳本,到我們的服務器上粘貼執行,即可自動完成證書部署。
命令
New-Item -ItemType Directory -Force -Path "C:\LetsEncrypt"
Invoke-WebRequest -Uri "https://letsencrypt.top/download/letsencrypt-renew.exe" -OutFile "C:\LetsEncrypt\letsencrypt-renew.exe"
$command = @'
C:\LetsEncrypt\letsencrypt-renew.exe -token="NvdRIywm9KbjKTk5Vn7Hkdw2/NSQoaqhJJAPrwGrV9pUpqhCvugGdRR/uYzq593a" -key_path=D:\nginx-1.19.7\cert\hfits.com.cn_private.key -server_type=nginx -cert_path=D:\nginx-1.19.7\cert\hfits.com.cn_certificate.pem -command="D:\nginx-1.19.7\nginx.bat" -backup=true >> C:\Renew.log 2>&1
'@
$command | Set-Content -Path C:\LetsEncrypt\SslRenewTask-nginx-hfits.com.cn.bat -Encoding ASCII
schtasks /Create /TN "SslRenewTask-nginx-hfits.com.cn" /TR "C:\LetsEncrypt\SslRenewTask-nginx-hfits.com.cn.bat" /SC DAILY /MO 15 /ST 03:28 /SD 2025/01/01 /ED 9999/12/31 /RL HIGHEST /RU "NT AUTHORITY\SYSTEM" /F
C:\LetsEncrypt\letsencrypt-renew.exe -token=NvdRIywm9KbjKTk5Vn7Hkdw2/NSQoaqhJJAPrwGrV9pUpqhCvugGdRR/uYzq593a -key_path=D:\nginx-1.19.7\cert\hfits.com.cn_private.key -server_type=nginx -cert_path=D:\nginx-1.19.7\cert\hfits.com.cn_certificate.pem -command="D:\nginx-1.19.7\nginx.bat" -backup=true
執行報錯
這里說的可能是 PowerShell 版本過低。升級PowerShell或者修改命令
我這邊版本過低了,又不想升級服務器的PowerShell 所以換了下載命令,curl 這個需要額外安裝和配置環境變量
curl下載地址:curl for Windows
- 下載 cURL 程序:
- 訪問 cURL 官方網站的?Windows 下載頁面?。
- 根據系統位數(32 位或 64 位)選擇對應的版本,一般下載 64 位的?
Win64 - Generic
?版本(如果不確定系統位數,可在 “我的電腦” 上右鍵 - “屬性” 查看)。 - 下載得到一個壓縮包(如?
curl-8.8.0_2-win64-mingw.zip
?類似名稱 )。
- 解壓與配置:
- 將下載的壓縮包解壓到一個目錄,比如?
C:\curl
?。 - 配置系統環境變量:
- 右鍵 “我的電腦” - “屬性” - “高級系統設置” - “環境變量” 。
- 在 “系統變量” 中找到 “Path” 變量,點擊 “編輯” 。
- 點擊 “新建”,輸入?
C:\curl\bin
(即你解壓后?curl.exe
?所在的?bin
?目錄路徑 ),然后點擊 “確定” 保存。
- 將下載的壓縮包解壓到一個目錄,比如?
- 驗證安裝:
- 打開新的 PowerShell 或命令提示符窗口,輸入?
curl --version
?,如果能顯示 cURL 的版本信息,說明安裝配置成功。
- 打開新的 PowerShell 或命令提示符窗口,輸入?
New-Item -ItemType Directory -Force -Path "C:\LetsEncrypt"
curl -o C:\LetsEncrypt\letsencrypt-renew.exe https://letsencrypt.top/download/letsencrypt-renew.exe
$command = @'
C:\LetsEncrypt\letsencrypt-renew.exe -token="NvdRIywm9KbjKTk5Vn7Hkdw2/NSQoaqhJJAPrwGrV9pUpqhCvugGdRR/uYzq593a" -key_path=D:\nginx-1.19.7\cert\hfits.com.cn_private.key -server_type=nginx -cert_path=D:\nginx-1.19.7\cert\hfits.com.cn_certificate.pem -command="D:\nginx-1.19.7\nginx.bat" -backup=true >> C:\Renew.log 2>&1
'@
$command | Set-Content -Path C:\LetsEncrypt\SslRenewTask-nginx-hfits.com.cn.bat -Encoding ASCII
schtasks /Create /TN "SslRenewTask-nginx-hfits.com.cn" /TR "C:\LetsEncrypt\SslRenewTask-nginx-hfits.com.cn.bat" /SC DAILY /MO 15 /ST 03:28 /SD 2025/01/01 /ED 9999/12/31 /RL HIGHEST /RU "NT AUTHORITY\SYSTEM" /F
C:\LetsEncrypt\letsencrypt-renew.exe -token=NvdRIywm9KbjKTk5Vn7Hkdw2/NSQoaqhJJAPrwGrV9pUpqhCvugGdRR/uYzq593a -key_path=D:\nginx-1.19.7\cert\hfits.com.cn_private.key -server_type=nginx -cert_path=D:\nginx-1.19.7\cert\hfits.com.cn_certificate.pem -command="D:\nginx-1.19.7\nginx.bat" -backup=true
ok 運行成功了吧
參考:https://blog.csdn.net/yangjing19910801/article/details/145531466文章瀏覽閱讀8k次,點贊38次,收藏46次。騰訊云、阿里云等平臺都支持免費的SSL證書申請,但只支持單域名SSL證書申請,不支持泛域名證書申請,而且每年只有20張免費證書額度,自2024年4月25日之起免費申請的證書只有3個月有效期。域名比較多的情況下,更新就變得非常麻煩。Let’s Encrypt 是一家免費、開放、自動化的公益性證書頒發機構(CA),提供免費SSL證書申請,并且支持泛域名證書申請,一個證書就能支持很多個域名,多個網站共同使用。不僅如此,它還支持證書自動續期,通過一次的定時任務設定,就可以在三個月證書到期時自動續期。。_let's encrypthttps://blog.csdn.net/yangjing19910801/article/details/145531466
(新手必看)?如何完成域名驗證?