一、前言
腾讯云、阿里云等平台都支持免费的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
(新手必看) 如何完成域名验证?