更新记录

更新记录

2022-02-17

  • 调整内容,调整基于腾讯云COS静态资源CDN优化

CDN加速

​ 此前部分图片信息采用的是github+jsDelivr存储,可参考网站访问加速一文,现调整部分内容,迁移到腾讯云,便于统一维护管理

cloudflare构建步骤

cloudflare是一个免费境外CDN提供商,它提供了免费的https服务,DDOS等各种防护等。CF(cloudflare)对于国外的网站来说是挺不错的,但是国内的话免费方案据反馈其速度不是很快,因此被很多人戏称为减速CDN。其构建步骤简单参考如下所示

1
2
添加网站:添加主域名,随后按需选择套餐,添加完成等待扫描DNS记录
扫描完成随后自行添加解析记录(二級域名需手动添加)
  • DNS服务器修改:加入cloudflare的DNS服务器(在域名注册商处修改域名对应的DNS服务器即可)
1
2
mckenzie.ns.cloudflare.com
sterling.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
2
3
4
类似:假设申请的域名为a.com,自定义域名可以采用泛域名的方式进行构建例如cos.a.com
因此需要在DNSPod处添加两条记录:
1._dnsauth.cos TXT 记录值根据其提供的验证说明进行填充
2.cos CNAME 记录值则根据其提供的进行填充例如cos.a.com.cdn.dnsv1.com.cn

<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
2
3
4
5
6
// 步骤说明
# a.通过ping域名的方式检查CDN节点
ping xxx.a.com
# b.将响应的结果在“IP归属查询”中进行查询
如果查询结果验证了是腾讯云节点,则说明节点响应正常
如果查询结果验证并非腾讯云节点,则进一步排查是否本地配置做了中转(例如科学上网、网络服务商等)

​ <4>如果是图床概念(可通过域名+路径的方式直接访问),如果是需要发布静态资源网站,则相应需要在对应的COS存储桶下开启静态资源发布【基础配置】->【静态网站】,配置成功后会相应提供一个访问节点,便可通过该链接进行访问