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 加速
相关推荐
紫禁玄科8 小时前
Shai-Hulud:npm生态的自我复制蠕虫风暴
前端·npm·node.js
东风破_8 小时前
后端API没写好,前端难道干等着吗?
前端
百变梦仔8 小时前
从读项目到纠偏交付:我把 Codex 前端任务闭环升级成了第二版
前端
用户938515635078 小时前
从前后端分离到前端接口工程:React + MockJS + Vite 解析
前端·后端·全栈
用户938515635078 小时前
从零在浏览器里跑 DeepSeek-R1:WebGPU + Transformers.js 全链路实战(三)
前端·react.js·typescript
excel9 小时前
当前端行情变差,我们为什么还要坚持?
前端
鸿是江边鸟,曾是心上人9 小时前
快速搭建HTTPS本地开发环境
前端
To_OC10 小时前
写了 5 个表单 Demo 后,我终于彻底搞懂了 React 受控与非受控组件
前端·react.js·前端框架
Sterting10 小时前
第9课 Vue Router 路由
前端·vue.js
用户0595401744610 小时前
LangChain Memory 测试踩坑实录:用 pytest 自动化回归对话记忆,我折腾了整整一个周末
前端·css