云和 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 监控。