第一部分:全球加速CDN
如果你的资金充足,我更推荐你使用腾讯云COS的全球加速功能,但不要只使用腾讯云CDN和其他的主要面向国内的CDN服务进行全球加速
准备
- 腾讯云COS(你也可以使用其他存储代替)
- 充足的 中国大陆流量包 和 海外流量包
- 充足的 资金
- 腾讯云CDN(你也可以使用其他CDN代替)
- 充足的 流量包
- 面向 中国大陆 的性能良好
- 已进行ICP备案的域名(或子域名)
- 可以进行分地域解析的域名DNS
- CloudFlare 账户(不要把域名放在CloudFlare中!这将无法进行分地域解析!)
- 更实惠的CF套餐,推荐考虑 HoRain 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,否则会出现使用问题!
配置CloudFlare CDN
配置CNAME
你需要一个CF合作伙伴站点,我推荐使用 HoRain CloudFlare付费版订阅
面板地址:https://cfp.console.horain.net 没有买付费订阅也可以用,但真的很划算!
而且 HoRain的服务器真的很稳定(彩虹Smiling真的超令人想透)
记录类型必须为 CNAME !
然后在 CNAME 接入 中找到该域名对应的CNAME域名
并在DNS设置解析(区域:海外)
配置CloudFlare规则
配置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优化可以在控制台直接打开
也可以在回源时自动调用对象存储的图像处理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://www.ahdark.blog/wp-content/uploads/20210709050143767.png
可自行测试
中国大陆访问将被DNS解析至腾讯云CDN节点
海外访问将被DNS解析至CloudFlare CDN节点
恕我直言,你的图片貌似并没有转成webp呀
右上角 其中的信息可能已经有所发展或者发生改变 是看不到吗??