本文参考以下文章并整理:
2022阿里云免费SSL证书品牌为DigiCert DV单域名证书,每个阿里云账号可以申请20个免费SSL证书资源包,SSL证书大全图文详解阿里云SSL证书免费申请和部署教程,包括SSL证书申请域名DNS验证等操作。
阿里云DigiCert 免费版 SSL 有效期一年3个月,过期后需要重新部署SSL。所以,不管是第一次部署SSL还是刚接手公司项目SSL就到期的小伙伴都可以看一下该文章。
2023-12-22 开始,免费证书签发后的证书有效期统一变更为3个月 (关于免费证书服务策略调整通知)
阿里云SSL免费证书申请方法
1、打开阿里云SSL证书页面,点击“选购SSL证书”
如下图:
2、SSL证书服务选择“DV单域名证书【免费试用】”
如下图:
按照以下选择:
- 商品类型:SSL证书
- SSL证书服务:DV单域名证书【免费试用】
- 数量:20
可以看到配置费用为0元,然后点“立即购买”,勾选协议,支付0元,如下图:
支付成功后,即购买了免费SSL证书资源包,这个资源包可以申请20个免费SSL证书,后续需要在SSL管理控制台申请使用。
3、登录到阿里云SSL证书管理控制台
4、选择“SSL证书”–“免费证书”–“证书申请”
如下图:
5、填写证书申请表单
填写域名、域名验证方式、联系人等信息,如下图:
阿里云SSL证书申请信息填写
- 证书绑定域名:填写你的网站域名,如www.aliyunbaike.com
- 域名验证方式:如果你的域名是在当前的阿里云账号下申请的,就选“自动DNS验证”,如果不在当前账号下,就选“手工DNS验证”
- 联系人:没有联系人,就新建一个联系人,根据事情情况填写
- 所在地:根据实际情况填写
- 密钥算法:RSA
- CSR生成方式:系统生成
6、域名DNS验证
如果当前申请SSL证书和域名在同一阿里云账号下,选择自动DNS验证,系统会自动帮你添加DNS验证。但是,如果域名不在当前阿里云账号下,就需要选择手工DNS验证,如下图:
阿里云SSL证书手工DNS验证
按照上图中SSL证书验证提示,登录到域名管理控制台,为域名添加TXT记录,主机记录为_dnsauth,复制记录值。SSL大全以阿里云域名解析为例,演示一下申请SSL证书域名添加DNS验证方法,登录到阿里云域名DNS解析控制台,按照下图添加:
阿里云域名DNS验证
如上图,TTL默认10分钟即可,然后点确认。
7、域名验证,提交审核
回到刚刚的SSL证书申请页面,点击“验证”,如果域名验证成功,点击“提交审核”即可,如下图:
提交审核后会提示:已经成功提交到CA公司,请您保持电话畅通,并及时查阅邮箱中来自CA公司的电子邮件。如下图:
一般等待几分钟即可下发SSL证书,然后下载证书即可。阿里云SSL证书支持多种服务器类型,如:Tomcat、Apache、Nginx、IIS、JKS、其他及根证书下载。如下图:
以上是SSL证书大全网分享的阿里云免费SSL证书申请方法,2022年更新,亲测成功的申请教程。
另外,以下是阿里云免费SSL证书相关说明,大家可以看下:
1、原DIgicert免费单域名证书,建议用于测试、个人试用等场景,org、jp等特殊域名存在无法申请的情况,正式环境建议使用付费证书。
2、每个实名主体个人/企业,一个自然年内可以领取一次数量为20的云盾单域名试用证书,如需更多云盾单域名试用证书需要额外付费购买。
3、云盾单域名试用证书在自然年结束时,会自动清除未签发的数量(每个自然年12月31日24:00)
4、云盾单域名试用证书不支持续费补齐时间
阿里云SSL证书部署方法
1、 根域名部署SSL
以nginx为例 点击上图右边下载按钮
下载后将文件解压
放在nginx.conf规定的路径上 查看nginx安装路径
ps -ef | grep nginx
或者linux查找文件夹或者文件命令,例如:
find / -name nginx.conffind /-name mysql
在nginx.conf中添加
#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name yourdomain; #需要将yourdomain替换成证书绑定的域名。
root html;
index index.html index.htm;
ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
root html; #Web网站程序存放目录。
index index.html index.htm;
}
}
设置HTTP请求自动跳转HTTPS
如果您希望所有的HTTP访问自动跳转到HTTPS页面,则可以在需要跳转的HTTP站点下添加以下 rewrite
语句。
注意: 以下代码片段需要放置在nginx.conf文件中
server {}
代码段后面,即设置HTTP请求自动跳转HTTPS后,nginx.conf文件中会存在两个server {}
代码段。
server {
listen 80;
server_name yourdomain; #需要将yourdomain替换成证书绑定的域名。
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
location / {
index index.html index.htm;
}
}
具体 nginx.conf 中语法有什么不懂可以百度搜索一下
配置完成后记得重启nginx
./nginx -s reload
如果重启Nginx服务时收到报错,您可以使用以下方法进行排查:
- 收到
the "ssl" parameter requires ngx_http_ssl_module
报错:您需要重新编译Nginx并在编译安装的时候加上--with-http_ssl_module
配置。 - 收到
"/cert/3970497_pic.certificatestests.com.pem":BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/cert/3970497_pic.certificatestests.com.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
报错:您需要去掉证书相对路径最前面的/
。例如,您需要去掉/cert/cert-file-name.pem
最前面的/
,使用正确的相对路径cert/cert-file-name.pem
。
2、CDN部署SSL
点击创建SSL右侧部署按钮进行部署
选择后cdn为之前创建好的cdn域名选择部署
3、服务器 部署SSL( linux写法)
确定后部署验证,验证如果失败请对照cert路径是否填写正确。
更多关于阿里云SSL证书问题及解答,可以参考阿里云官方页面:
官方文档:阿里云SSL证书官方页面