AHdark
一个多语种开发蒟蒻
AHdark Blog

基于COS的全球加速解决方案

第一部分:全球加速CDN

如果你的资金充足,我更推荐你使用腾讯云COS的全球加速功能,但不要只使用腾讯云CDN和其他的主要面向国内的CDN服务进行全球加速

准备

  • 腾讯云COS(你也可以使用其他存储代替)
    • 充足的 中国大陆流量包 和 海外流量包
    • 充足的 资金
  • 腾讯云CDN(你也可以使用其他CDN代替)
    • 充足的 流量包
    • 面向 中国大陆 的性能良好
  • 已进行ICP备案的域名(或子域名)
  • 可以进行分地域解析的域名DNS
  • CloudFlare 账户(不要把域名放在CloudFlare中!这将无法进行分地域解析!)
  • 可以翻墙的VPN(用于测试)

配置COS存储桶

warning 注意
不要自作聪明!请严格按本文指导操作!否则若导致破产AHdark概不负责!

前往 腾讯云COS控制台

创建国内存储桶

由于我已完成操作,在后续教程我使用的存储桶名称为ahdark-rc0-co-1259265343

所属地域无硬性要求,仅需在中国大陆即可

版本控制你现在不打开之后也会被迫打开

配置国内存储桶

授权

如果你很大胆的把存储桶设置为了 公有读 ,那你可以跳过这步

前往 权限管理-Policy权限设置

这一步是为了给腾讯云CDN授权,如果你使用其他CDN进行中国大陆地区加速那你应指定IP段授权

设置CDN加速

在 域名与传输管理-自定义CDN加速域名 中设置你的域名,加速地域为【中国大陆】,并将域名CNAME解析至CDN(区域:默认)

warning 警告
务必打开回源鉴权!


创建海外存储桶

由于CloudFlare免费版加速节点的回源是洛杉矶服务器回源,所以我推荐将COS创建在北美地区-硅谷

由于我已完成操作,在后续教程我使用的存储桶名称为ahdark-rc0-co-mirror-1259265343

所属地域无硬性要求

版本控制你现在不打开之后也会被迫打开

配置海外存储桶

授权

前往 权限管理-Policy权限设置

底部IP端需配置为CDN节点的ip端,你可以前往https://www.cloudflare.com/ips-v4获取CloudFlare的ipv4段,并转换为单行、以','分割的形式

173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,172.64.0.0/13,131.0.72.0/22,104.16.0.0/13,104.24.0.0/14

你也可以查看以下文章获取关于IP段的更多信息

如果你需要将IP转换为IP CIDR形式,你可以前往https://ip2cidr.com

设置域名

前往 域名与传输管理-自定义源站域名

填写你上方设置的域名,并铭记 CNAME 域名

配置存储桶同步

进入 国内存储桶设置-容错容灾管理-存储桶复制 ,新增规则

如图配置即可,目的为将国内存储桶文件复制到海外存储桶

warning 警告
注意,这会导致你付出双倍的存储费用


配置腾讯云CDN

warning 警告
为兼容互联网标准,请务必强制使用HTTPS!

warning 警告
腾讯云CDN与CloudFlare CDN必须同时使用SSL或都不使用SSL,否则会出现使用问题!

开启webp压缩有益于大幅压缩体积以减小延迟和流量

配置CloudFlare CDN

配置CNAME

你需要一个CF合作伙伴站点,我推荐使用 HoRain CloudFlare付费版订阅

面板地址:https://cfp.console.horain.net 没有买付费订阅也可以用,但真的很划算!

而且 HoRain的服务器真的很稳定(彩虹Smiling真的超令人想透)

记录类型必须为 CNAME !

然后在 CNAME 接入 中找到该域名对应的CNAME域名

并在DNS设置解析(区域:海外)

配置CloudFlare规则

前往 CloudFlare控制台

极力推荐:HoRain CloudFlare付费版订阅

前往 网络(Network) 配置

打开HTTP/3有益于提速降延迟

前往 规则-页面规则,新增页面规则

配置页面规则

你可以前往 Horain 购买更多的CloudFlare页面规则和伪Pro会员,50 CNY/年 那种。正规资质正规途径,请放心


配置DNS

我很希望你能够独立配置它,因为这真的不需要脑子

我使用的是 阿里云DNS (企业统一)

同一域名

默认 解析到 腾讯云CDN

海外 解析到 CloudFlare

实现全球加速(?)


上传问题

上传文件只需要上传到 COS北京 的存储桶中,COS会自动将其同步至硅谷


第二部分:webp优化

本部分依赖于以下文档

  • 对象存储 格式转换:https://cloud.tencent.com/document/product/436/44883
  • 对象存储 质量变换:https://cloud.tencent.com/document/product/436/44884

腾讯云

腾讯云CDN的webp优化可以在控制台直接打开

CDN控制台

也可以在回源时自动调用对象存储的图像处理API

?imageMogr2/format/webp/rquality/75

CloudFlare CDN

前往 控制台-域名控制台-规则-转换规则

创建转换规则:重写URL

条件按以下设置

表达式:

(http.request.uri eq "/*.jpg") or (http.request.uri eq "/*.png") or (http.request.uri eq "/*.gif") or (http.request.uri eq "/*.jpeg")

然后 路径保留,查询重写到

【Static模式】 ?imageMogr2/format/webp/rquality/75


此时,全球访问图片都会访问webp格式图片并具有75%相对质量


依据


第三部分:实际测试

客户端 -> 香港VPN节点 -> CloudFlareCDN -> COS 硅谷 实际测试数据

857kB图片 767ms
1.5MB图片 1.14s

客户端 -> 腾讯云CDN -> COS 北京 实际测试数据

36kB图片 25ms (857kB经过webp 75%质量格式转换压缩)
93.5kB图片 30ms (1.5MB经过webp 75%质量格式转换压缩)

自主测试

https://cdn.ahdark.com/uploads/20210709050143767.png

可自行测试
中国大陆访问将被DNS解析至腾讯云CDN节点
海外访问将被DNS解析至CloudFlare CDN节点

赞赏
本文链接:https://ahdark.com/som/582.shtml
本文采用 CC BY-NC-SA 3.0 Unported 协议进行许可
欢迎加入Q群交流:654022768

AH Dark

文章作者

本博客的运营者、主要开发者、主要作者 深度学习算法工程师,后端工程师,嵌入式软件开发工程师 Azure认证 运维工程师

发表评论

textsms
account_circle
email

AHdark Blog

基于COS的全球加速解决方案
通过腾讯云COS多地域同步、腾讯云CDN、CloudFlare CDN实现的多地域全球加速
扫描二维码继续阅读
2021-07-09