本文介绍如何在CDN中配置Https实现全站加速。
一、申请证书
此处简单介绍一下SSL证书。
1、证书类型
类型 |
说明 |
DV域名型 |
个人网站一般使用的比较,审核速度快 |
OV企业型 |
政府组织、企业等使用较多,CA机构会人工审核,验证企业的有效性 |
EV企业增强型 |
大型的企业、金融机构使用较多,价格也较高,CA机构人工审核严格。 |
大家可通过浏览器地址旁边的进行查看访问网站的证书信息,在弹框中点击“连接是安全的”,出现如下界面:
可以看出上面是一个EV型的证书。
2、域名类型
类型 |
说明 |
通配符 |
申请 *.aliyun.com 的证书,那么 aliyun.com所有的二级域名都可以使用,但不适用于三级域名,如需使用三级域名,需申请 *.xxxx.aliyun.com |
单域名 |
只对申请的域名有效,如:www.aliyun.com |
多域名 |
一张证书可支持多个域名,有点类似几个单域名组合起来的意思 |
大家可根据实际的情况选择适用于自己网站的证书,此处我们以在阿里云申请的免费证书为例进行操作。
到对应的域名管理中添加上述解析信息:
点击“确认”后,回到证书申请的页面,点击“验证”并“提交审核”:
此时,只需等证书状态变为“已签发”即可使用了。
二、CDN配置
1、创建域名
在源站信息添加的弹框中,输入站点的IP地址,并将端口改为443。
点击“确定”,并按照指示进行下一步的操作,直至创建成功。此处不在详细赘述创建过程,大家可参考 阿里云添加加速域名 了解更多详细配置。
2、回源配置
创建成功后会回到列表页,在列表的“操作”列, 点击对应域名的“管理”。
- 打开 回源HOST ,修改 回源协议 ,选择 HTTPS
如果你的服务器部署了多个站点,那么需要在本页面的下方开启 回源SNI ,否则会容易出现访问CDN资源时出现文件访问失败的问题。
3、HTTPS配置
- 上传 HTTPS证书
基于第一步骤中的证书申请,此处选择 云盾(SSL)证书中心,在下拉的列表中会自动匹配出与当前CDN域名相关的证书,选择点击 确定 即完成了证书的上传。
如果是自定义上传,则将证书下载后,将证书文件中后缀名为 .pem 的公钥文件内容复制到下图 证书(公钥)中即可。
这里需要注意的是,在下载证书的时候,以阿里云为例,提供了以下几种服务器类型的:
在上传至阿里云CDN时,我们需要选择 Nginx 类型的进行下载,下载后的文件有两个如下图,选择 pem 的复制。
- 开启 HTTP -> HTTPS 的强制跳转
打开后,如果使用的是 http 方式,会自动301到 https 上。这里曾经碰到过一个301死循环的问题,我的站点使用 nginx 做了访问 http 301 跳转 https 的设置,在配置CDN的时候未打开 强制跳转 的配置,此时当缓存失效时,用户以http访问一个资源,CDN就会以 http 的方式向我的服务器进行资源请求,此时就会触发我服务器的 301 跳转 https,而 CDN 会将这个301缓存,导致实际用户在访问时会一直出现同一个资源301不停的请求,所以开启 https 后这个配置一定要打开。
至此,使用CDN Https 技术实现全站安全加速就结束了。另外需要提醒下,因为开启了HTTPS,所以在CDN的资源扣费中会增加 静态https请求数 的费用,建议大家购买 静态HTTPS请求包 以节省成本。