cloudflare r2进行cdn加速

cloudflare r2进行cdn加速

当我们声明了自定义域名时,实际上,当我们访问资源时,也是会通过cf的代理转发,所以也是经过dns解析的,而cf的dns解析过程中加入了cdn处理,因此不需要额外的配置

CF DNS 常见记录类型

R2 记录类型

R2 是 Cloudflare 特有的 DNS 记录类型,专门用于连接 R2 对象存储服务。

特点:

bash 复制代码
Type: R2
Name: data.tianran.org  # 你的域名
Content: public         # R2存储桶名称
Proxy status: Proxied   # 启用CDN代理

作用:

  • 直接将域名指向 R2 存储桶
  • 自动启用 CDN 加速
  • 无需手动配置复杂的存储桶 URL

CNAME 记录类型

CNAME(Canonical Name)是标准的 DNS 记录类型,用于创建域名别名。

特点:

bash 复制代码
Type: CNAME
Name: cdn                    # 子域名
Content: 37789669-2af8-4...  # 目标域名或服务地址
Proxy status: Proxied        # 启用CDN代理

作用:

  • 将一个域名指向另一个域名
  • 常用于 CDN、负载均衡等服务
  • 更灵活的域名映射

实际应用对比

使用 R2 记录:

javascript 复制代码
// 直接访问 R2 存储的文件
const imageUrl = 'https://data.tianran.org/images/photo.jpg';

使用 CNAME 记录:

javascript 复制代码
// 通过 CNAME 别名访问
const cdnUrl = 'https://cdn.tianran.org/assets/style.css';

在你的配置中:

从截图可以看到:

  1. R2 记录data.tianran.org 直接连接到名为 public 的 R2 存储桶
  2. CNAME 记录cdnblog 等都是域名别名,指向不同的服务

代码使用示例:

html 复制代码
<!-- 使用 R2 记录访问存储文件 -->
<img src="https://data.tianran.org/uploads/avatar.png" alt="Avatar">

<!-- 使用 CNAME 记录访问 CDN 资源 -->
<link rel="stylesheet" href="https://cdn.tianran.org/css/main.css">

性能对比:

javascript 复制代码
// R2 记录 - 直接访问存储
fetch('https://data.tianran.org/api/data.json')
  .then(response => response.json())
  .then(data => console.log('R2数据:', data));

// CNAME 记录 - 通过别名访问
fetch('https://cdn.tianran.org/resources/config.json')
  .then(response => response.json())
  .then(data => console.log('CDN数据:', data));

总结

  • R2 记录是 Cloudflare 为 R2 存储服务专门设计的,使用更简单
  • CNAME 记录是通用的 DNS 别名机制,使用更灵活
  • 两者都可以启用 Proxied 状态来享受 Cloudflare 的 CDN 加速
相关推荐
Hierifer20 分钟前
跨端技术:浅聊双线程原理和实现
前端
FreeBuf_31 分钟前
加密货币武器化:恶意npm包利用以太坊智能合约实现隐蔽通信
前端·npm·智能合约
java水泥工1 小时前
基于Echarts+HTML5可视化数据大屏展示-图书馆大屏看板
前端·echarts·html5
半夏陌离1 小时前
SQL 实战指南:电商订单数据分析(订单 / 用户 / 商品表关联 + 统计需求)
java·大数据·前端
子兮曰1 小时前
🚀Vue3异步组件:90%开发者不知道的性能陷阱与2025最佳实践
前端·vue.js·vite
牛十二1 小时前
mac-intel操作系统go-stock项目(股票分析工具)安装与配置指南
开发语言·前端·javascript
whysqwhw1 小时前
Kuikly 扩展原生 API 的完整流程
前端
whysqwhw1 小时前
Hippy 跨平台框架扩展原生自定义组件
前端
OEC小胖胖1 小时前
页面间的导航:`<Link>` 组件和 `useRouter`
前端·前端框架·web·next.js
faimi2 小时前
🚀程序员必收藏!最全Git命令手册:解决90%团队协作难题
前端·gitlab