云和 CDN

阿里云 SSL 证书申请与部署教程

作者: · 最后核实

阿里云的免费 SSL 证书(个人测试证书)在数字证书管理服务里申请,通过 DNS 或文件验证后签发。签发的证书可以下载安装到自己的 Nginx 服务器,也可以一键部署到 CDN、负载均衡等阿里云产品,但到期不会自动续期。

产品名称、免费额度和有效期以截至 2026 年 11 月的阿里云控制台为准。

前提条件

申请证书需要已实名的阿里云账号、一个域名,以及 DNS 验证或文件验证其中一种条件。

  • 阿里云账号(已实名认证),能访问“数字证书管理服务”。
  • 要申请证书的域名,例如 www.example.com;部署在中国内地服务器或 CDN 上的,域名需已备案。
  • DNS 验证:能修改域名解析(在阿里云解析的可以自动验证)。
  • 文件验证:网站能通过 HTTP/HTTPS 访问,可以在网站根目录下放文件。

第一步:创建证书申请

在阿里云控制台打开 数字证书管理服务 → SSL 证书管理,选择个人测试证书(原免费证书),创建证书后点“证书申请”并填写:

  • 域名:填 www.example.com(个人测试证书只能填一个域名)。
  • 联系人和所在地:按要求填写。
  • CSR 生成方式:选“系统生成”步骤最少;对私钥保管有要求的选“手动填写”,用 OpenSSL 生成 CSR 后粘贴。

第二步:完成域名验证

阿里云提供三种域名验证方式,按页面提示选一种:

  • 自动 DNS 验证:域名在阿里云云解析时,控制台自动添加验证记录。
  • 手动 DNS 验证:在域名解析里添加控制台给出的 TXT 记录(主机记录和记录值以页面为准)。
  • 文件验证:下载验证文件,放到网站的 /.well-known/pki-validation/ 目录下,保证浏览器能打开这个文件。

点击 验证,通过后提交审核,签发通常需要几分钟到几小时。查看 TXT 记录是否生效:

dig +short TXT _dnsauth.www.example.com

记录名以控制台给出的为准。

第三步:下载并安装到服务器

签发后在证书列表点 下载,服务器类型选 Nginx,得到一个压缩包,包含 .pem(证书链)和 .key(私钥)文件。上传到服务器后:

sudo mkdir -p /etc/nginx/ssl
sudo unzip www.example.com_nginx.zip -d /etc/nginx/ssl/
sudo chmod 600 /etc/nginx/ssl/*.key
ls /etc/nginx/ssl/

压缩包和文件名以实际下载为准。在 Nginx 配置里引用:

server {
    listen 443 ssl;
    server_name www.example.com;
    ssl_certificate     /etc/nginx/ssl/www.example.com.pem;
    ssl_certificate_key /etc/nginx/ssl/www.example.com.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
}
sudo nginx -t && sudo systemctl reload nginx

宝塔面板用户直接把 .key 和 .pem 内容粘贴到站点 SSL 页面即可,见 宝塔面板配置 SSL 证书。

第四步:部署到阿里云产品(可选)

证书用于 CDN、负载均衡(SLB/ALB)、OSS、WAF 等阿里云产品时,不用下载:在证书列表点 部署,选择云产品和对应资源(如 CDN 加速域名),提交即可。CDN 的 HTTPS 细节见 阿里云 CDN 配置 HTTPS。

验证

安装正确时,证书链完整,到期时间与控制台一致。用 SSL 证书检查 检查,或在终端运行:

curl ssl.sh/www.example.com

私钥和证书是否配对可以用 私钥匹配检查 确认。

自动续期

免费的个人测试证书不会自动续期:到期前需要重新申请、验证、下载并替换文件,或重新部署到云产品。2026 年 3 月 15 日起公网证书最长 200 天,2027 年 3 月 15 日起 100 天,2029 年 3 月 15 日起 47 天,这种手动流程会越来越频繁。建议:

  • 自己的服务器改用 acme.sh + 阿里云 DNS 自动签发和续期 Let's Encrypt 证书。
  • 云产品优先用其托管/自动部署能力;需要用自有证书时,在续期钩子里调用 API 推送(例如 acme.sh 的 ali_cdn 部署钩子)。
  • 把域名加到 ssl.sh 监控(开发中),到期前提醒。

常见问题排查

  • 验证一直不通过:TXT 记录填错(主机记录多带了域名后缀)或未生效;文件验证的路径不对或被跳转、防盗链拦截。
  • CAA 记录阻止签发:域名设置了 CAA 但没有允许签发这张证书的 CA,见 CAA 记录阻止签发。
  • Nginx 报 key values mismatch:证书和私钥不是同一次申请的,见 nginx key values mismatch。
  • 手机或小程序提示证书不可信:用了只含站点证书的文件,见 缺少中间证书。
  • 浏览器提示证书过期:到期没有更换,见 NET::ERR_CERT_DATE_INVALID。

常见问题

阿里云免费证书能申请通配符吗?

个人测试证书只支持单个域名(如 www.example.com),不支持 *.example.com。需要通配符可以购买付费通配符证书,或者用 acme.sh + 阿里云 DNS 免费申请 Let's Encrypt 通配符证书。

一个免费证书能同时用于 example.com 和 www.example.com 吗?

多数情况下不能。一张个人测试证书一般只覆盖申请时填写的那一个域名,其他域名需要分别申请;部分免费证书会自动附带主域名或 www,以控制台说明为准。

阿里云证书到期了怎么办?

免费证书需要在到期前重新申请一张新证书,验证、下载、替换服务器上的文件,或在控制台重新部署到云产品。付费证书可以续费,是否支持自动续费和自动部署以控制台为准。为了不忘记,把域名加到 ssl.sh 监控。

资料来源

  1. 阿里云数字证书管理服务帮助文档
  2. 阿里云数字证书管理服务:用户指南
  3. 阿里云云解析 DNS 帮助文档
  4. CA/Browser Forum Ballot SC-081v3