购买域名后,若仅做解析而不配置 SSL 证书,会面临数据明文传输易被拦截篡改、地址栏显 “不安全” 警告、搜索引擎收录优先级低且排名易受影响等问题。至于 HTTP 与 HTTPS 协议的核心差异,考虑到本文读者并非新手,此处便不再展开赘述,接下来直接聚焦核心 —— 域名免费 SSL 证书的获取方法。
操作步骤概要如下:
1. 域名解析到服务器 IP(必须提前完成)
首先,在购买域名的云服务商管理后台中添加A记录,然后等待 DNS 生效。
2. 安装 Certbot 并获取 SSL 证书
一旦域名解析成功,可以使用 Certbot 来申请 Let's Encrypt 免费证书(现在免费期是3个月,所以每3个月还要续签)
接下来详细步骤说明如下:
验证方式有两种,一种是使用DNS验证方式,第二种是使用 HTTP 验证方式,在这里我其实推荐第一种方式。因为第一种是可以在本地安装,不需要公网服务器
方法一、使用 DNS 验证方式(推荐)
在本地的 Ubuntu 安装certbot:
apt update
apt install certbot
获取 SSL 证书:
certbot certonly --manual --preferred-challenges=dns -d domain.com -d www.domain.com
Certbot 会提示添加一条特定的 TXT 记录到你的域名 DNS 设置中。

添加 DNS TXT 记录
完成验证:
一旦 DNS 记录生效,Certbot 会自动完成验证过程,并生成SSL证书

Let's Encrypt的免费ssl证书,现在有效期只有3个月,所以快到期时需要续订。
手动续订方法(想要自动续订写个脚本做计划任务即可):
certbot certonly --manual --preferred-challenges=dns -d domain.com -d www.domain.com --force-renewal
--force-renewal:强制让Certbot重新生成证书,即便当前证书还未过期。
--manual:表示使用手动验证方式。
--preferred-challenges=dns:指定使用DNS的验证方式。
方法二、使用 HTTP 验证方式(需要公网,提前装好nginx,因为要让Let's Encrypt能请求到才行)
在Ubuntu上安装Certbot:
apt update
apt install certbot python3-certbot-nginx
获取 SSL 证书
certbot --nginx -d domain.com -d www.domain.com #多个域名之间加空格
Certbot 会自动配置你的Web服务器,并应用新生成的SSL证书
备注:至于手动续订方法跟上面的一样。
493

被折叠的 条评论
为什么被折叠?



