一、前言
给大家分享一下Let's Encrypt 证书申请时,如何完成域名验证这一步操作的方法。
二、为什么要进行域名验证
申请SSL证书时进行域名验证的主要原因是确保证书只颁发给有权控制特定域名的实体。这是为了保证互联网的安全性和信任,防止恶意方获取不属于他们的域名的SSL证书,进而保护用户免受中间人攻击、数据窃取和其他形式的网络犯罪。
三、如何进行域名申请和验证
1. 证书申请
https>https://i-blog.csdnimg.cn/direct/8f43a8e8e6bf42e090374f5df99d336f.png" width="2818" />
2. 申请证书
进入证书申请页签,填写你要申请的域名,选项中可以勾选是否申请泛域名证书,是否要包含根域。
3. 域名验证
提交证书申请之后,需要对我们的域名进行验证,以确保证书申请者合法拥有该域名的控制权。
(1)点击确定到域名验证
https>https://i-blog.csdnimg.cn/direct/b451ea918a0a4a1db7e166c0886ae5da.png" width="304" />
(2)查看域名验证
https>https://i-blog.csdnimg.cn/direct/2c8655841dd64c338423cb314636849e.png" width="460" />
(3)添加解析记录
访问你的域名提供商,例如我这里是在阿里云上购买的域名,直接点击(第一步)去解析后面的“阿里云” 链接直接跳转到阿里云域名解析控制台,然后点击“添加记录”
https>https://i-blog.csdnimg.cn/direct/424bc31e22f44b3898681f87dea400f3.png" width="2450" />
(4)添加CNAME解析
根据下面的指引,将验证的信息,填写到这里。
为了更清晰的表达,请看下图:
https>https://i-blog.csdnimg.cn/direct/d27430c107944b0b8850f2e1ad7e5dc9.png" width="3416" />
(5)提交验证
回到域名验证操作窗口,点击“立即验证”,由于DNS解析生效需要一定时间,如果出现“验证失败”提示,只要确认我们已经正确添加CNAME 解析记录,这里直接点击“提交验证”即可。此时证书状态变为 “验证中” 。
4. 证书部署
等待 Let‘s Encrypt 完成域名验证,完成后,它会自动签发证书,签发证书完成后,查看证书列表,显示如下
https>https://i-blog.csdnimg.cn/direct/fe3a38e14cbe4a90aa2f9d1373d92d82.png" width="2060" />
点击 “自动续期”,打开自动续期引导页面
填写你的私钥文件需要放置在服务器上的路径、证书文件路径,以及证书放置好后需要执行的操作(重启服务的命令或者自定义shell脚本皆可),填写好后,点击生成命令。
例如,我是通过docker部署的nginx,证书挂载目录是 /data/nginx/cert ,替换证书文件后,需要重启nginx服务,我需要通过docker命令重启,所以我填写的信息如下:
https>https://i-blog.csdnimg.cn/direct/e3f8d516915145bb8c3980b36e5bae00.png" width="554" />
5. 执行部署
点击复制上一步生成的证书部署脚本,到我们的服务器上粘贴执行,即可自动完成证书部署。
https>https://i-blog.csdnimg.cn/direct/579b330cbdf84ecaa7b704df6fd7ee99.png" width="392" />
查看系统定时任务,它添加了一条定时自动更新证书的任务,在证书过期前,会对证书进行自动续期,记得不要删除域名解析中添加的CNAME解析记录,否则自动续期会失败。
当然,如果你的服务器不支持访问外网,你也可以点击“下载”将证书下载到本地,然后手动部署到服务器。