CDN加速
CDN加速
此前部分图片信息采用的是github+jsDelivr存储,可参考网站访问加速一文,现调整部分内容,迁移到腾讯云,便于统一维护管理
cloudflare构建步骤
cloudflare是一个免费境外CDN提供商,它提供了免费的https服务,DDOS等各种防护等。CF(cloudflare)对于国外的网站来说是挺不错的,但是国内的话免费方案据反馈其速度不是很快,因此被很多人戏称为减速CDN。其构建步骤简单参考如下所示
注册cloudflare,验证邮箱
cloudflare中添加网站(子域名綁定參考)
1 | 添加网站:添加主域名,随后按需选择套餐,添加完成等待扫描DNS记录 |
- DNS服务器修改:加入cloudflare的DNS服务器(在域名注册商处修改域名对应的DNS服务器即可)
1 | mckenzie.ns.cloudflare.com |
- 待上述配置生效,后续配置一些安全性相关的内容
腾讯云CDN构建步骤
注册腾讯云账号、开通 CDN、接入域名和配置 CNAME
注册腾讯云账号、开通 CDN、实名认证这些基本操作可参考官方文档进行说明
接入域名
CDN 通过加速域名把源站资源缓存到 CDN 加速节点,用户可就近获取所需资源,实现资源访问加速,此处参考官方的流程说明接入域名
进入cdn控制台,添加域名:https://console.cloud.tencent.com/cdn/domains,随后配置域名属性并在DNSPods处解析即可
基于腾讯云COS静态资源CDN优化
<1>添加存储桶->域名与传输管理->选择自定义源站域名
<2>添加自定义域名并验证,根据提示在DNSPod处添加域名验证(验证域名所有权)和相应的域名解析(将其提供的CNAME进行配置)
1 | 假设申请的域名为a.com,自定义域名可以采用泛域名的方式进行构建例如cos.a.com : |
<3>上述操作完成,相应需申请SSL证书
针对存储桶,可以使用其默认提供的CDN加速域名(会相应产生CDN回源流量),或者自定义CDN加速域名
SSL证书申请完成,则可直接进行一键部署。选择内容分发网络->勾选指定的域名
问题排查
配置完成但在访问的时候却发现,无法通过域名直接访问:例如cos.a.com/test.png,但可通过默认的CDN加速域名&默认域名直接访问,简单梳理一下个人的排查过程
<1>如果图片访问出现Access Denied则检查是否开启了防盗链(白名单、黑名单),从而无法直接通过输入url获取(如果开了防盗链:则相应会拦截相关请求内容:对应bucket->安全管理->防盗链设置->配置白名单或者黑名单)
<2>域名解析检查:检查同一个域名是否指向了不同的分支(例如一个顶域名a.com解析到了不同的分支,这样可能是会存在冲突的),但多个泛域名(例如xxx.a.com、yyy.a.com)可以指向同一个源。
<3>切换不同设备、网络服务商访问进行测试,出现部分可访问的情况,则进一步检查响应的CDN节点IP归属,可通过CDN模块下的IP归属查询
1 | 步骤说明 |
<4>如果是图床概念(可通过域名+路径的方式直接访问),如果是需要发布静态资源网站,则相应需要在对应的COS存储桶下开启静态资源发布【基础配置】->【静态网站】,配置成功后会相应提供一个访问节点,便可通过该链接进行访问