给网站配置 HTTPS 时,很多人卡在第一步:证书从哪里来。付费证书动辄几百上千元,个人博客、小工具站或刚起步的项目未必愿意花这笔钱。阿里云提供免费的 DV 型 SSL 证书,只要域名能正常解析,就能走完验证流程拿到证书。下面从申请讲到 Nginx 部署,并列出几个容易踩的坑。

一、阿里云免费证书是什么
阿里云免费证书一般由 Sectigo 等权威 CA 签发,类型是 DV(域名验证型)单域名证书,有效期通常为一年,到期前要重新申请或续期。它有两个作用:让浏览器和服务器之间的通信加密,并让访问地址栏显示小锁图标。搜索引擎也偏好 HTTPS 站点,这对站点有一定好处。
免费额度和证书类型会随活动调整,不同地域、不同产品线的配额也可能不同。申请前到阿里云 SSL 证书控制台看一眼当前配额和签发机构,免得白等。
二、申请前要确认的三件事
- 域名解析正常。域名已注册,DNS 能正常生效。如果域名不在阿里云,也可以用 DNS 记录验证的方式申请。
- 服务器有公网 IP,80 和 443 端口能访问。后面的部署和跳转都要用到这两个端口。端口被防火墙挡住,排查会很费时间。
- 阿里云账号完成实名认证。这是前置条件,提前处理可以避免申请到一半卡住。
网站还没上线的话,可以先把域名解析到测试服务器,确认页面能打开,再申请证书。这样出问题时,能分清是解析的问题还是证书的问题。
三、控制台申请步骤
1. 进入 SSL 证书控制台
登录阿里云控制台,搜索“SSL 证书”进入产品页。在“免费证书”或“证书管理”栏目里找到“创建证书”或“免费证书申请”入口。
2. 填写域名
输入要绑定的域名,比如 www.example.com。主域名和 www 子域通常要分别申请,具体以当前产品规则为准。单个免费证书一般只支持一个域名,填之前先想清楚要覆盖哪些地址。
3. 完成域名验证
常见的验证方式有两种:
- DNS 验证。域名在阿里云解析时,系统可以自动添加 TXT 记录,操作最省事。域名在其他服务商时,要手动把控制台给出的记录值添加到对方的解析里。
- 文件验证。把指定的验证文件放到网站根目录,并确认能通过 HTTP 访问。没有 DNS 修改权限时,可以用这种方式。
验证通过后,状态会从“审核中”变成“已签发”,一般几分钟到半小时。等得太久就回头检查验证步骤,不必一直刷新页面。
4. 下载证书
签发后在证书列表点“下载”,选择对应的服务器类型,比如 Nginx、Apache 或 Tomcat。压缩包里有证书文件(.pem 或 .crt)和私钥文件(.key)。私钥一旦泄露,证书的安全性就没有保障了,别把它放进公开的代码仓库,也别随便发给别人。
四、Nginx 部署示例
小王是独立开发者,给一个展示作品集的静态站点在 Ubuntu 加 Nginx 上配置 HTTPS。网站上线后,浏览器一直提示“不安全”,客户因此怀疑他的专业度。下面以他的操作为例。
他在控制台申请了 www.example.com 的证书,DNS 验证通过后下载了 Nginx 版本的证书包。解压得到 example.com.pem 和 example.com.key,放到服务器的 /etc/nginx/ssl/ 目录,并把权限设为仅 root 可读。
然后修改站点配置:
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/nginx/ssl/example.com.pem;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
root /var/www/portfolio;
index index.html;
}
server {
listen 80;
server_name www.example.com;
return 301 https://$host$request_uri;
}
改完先执行 nginx -t 检查语法,通过后再执行 systemctl reload nginx。访问 https://www.example.com,地址栏的小锁正常显示。
这里有个容易漏的细节。配置里加了 80 到 443 的 301 跳转,用户输入 http 地址时会自动转到 https,站点不会同时存在两个访问入口。
五、常见坑与排查
1. 验证一直失败
先查 DNS。用 dig 或在线工具确认 TXT 记录已经生效,解析缓存没有刷新时也会出现这种情况。文件验证失败,就检查文件路径、访问权限,以及是否被重定向规则拦住。
2. 小锁不显示,仍提示不安全
多半是页面里混入了 http 资源,比如图片、脚本或样式的地址没有改成 https。打开浏览器开发者工具的控制台,混合内容警告会写明是哪个地址。
3. 证书到期忘了续期
免费证书有效期较短,在日历里设个提醒,提前一个月左右重新申请。certbot 之类的工具可以做自动化续期,但阿里云免费证书本身需要手动更新,或通过 API 完成,不要把两者的流程混为一谈。
六、部署前后的几条建议
- 收紧私钥权限。只让运行 Nginx 的用户读取,其他账号用不到就不开放。
- 改配置先检查再重载。执行 nginx -t 通过后再 reload。出错时原配置还在,回退也快。
- 子域名多的话,提前规划证书数量。免费额度有限,子域很多时,可以对比一下付费泛域名证书是否更划算。
- 上线后用 SSL Labs 检测一次。看看协议版本和加密套件是否合理,发现旧协议或弱套件再调整。
阿里云免费证书能满足大多数个人站点和中小项目的 HTTPS 需求。流程不复杂,真正容易出问题的是域名验证和服务器配置。先完整走一遍,之后的续期和维护会轻松很多。