
Qexo 管理面板接入CloudFlare R2教程
将Cloudflare R2对象存储与Qexo静态博客对接,再通过腾讯云EdgeOne CDN进行加速,可以构建一个低成本、高性能且无需服务器的全球化博客系统。
下图清晰地展示了这套架构的数据流转与核心组件,可以帮助你快速理解整个系统:
下面,我们来一步步完成配置。
📋 准备工作
在开始配置前,请确保你已准备好以下服务和工具:
| 类别 | 具体要求 |
|---|---|
| 域名 | 一个已注册的域名,用于博客和图床访问。 |
| 云平台账户 | Cloudflare、腾讯云(用于EdgeOne)、GitHub或GitLab账户。 |
| 对象存储 | 在Cloudflare控制台开通R2服务。 |
| 本地环境 | 电脑上安装好Node.js和Git。 |
| 博客程序 | 选择Hexo等静态博客生成器,并已完成本地初始化。 |
| 管理后台 | 准备好在Vercel等平台部署好的Qexo管理后台。 |
🔧 核心步骤一:将R2配置为Qexo图床
此步骤的目标是让Qexo能将你上传的图片直接存储到Cloudflare R2。
- 在Cloudflare创建R2存储桶
- 登录Cloudflare控制台,进入 R2 页面。
- 点击 创建存储桶,输入一个唯一的名称(如
myblog-images)。
- 配置R2存储桶公开访问
- 进入你创建的存储桶,找到 设置 -> 公开访问。
- 点击 连接域,绑定一个子域名(例如
images.yourdomain.com)作为公开访问地址。记下这个域名(如https://images.yourdomain.com),稍后需要用到。
- 获取R2的API访问密钥
- 在R2概述页面,点击 管理R2 API令牌 -> 创建令牌。
- 选择对应的存储桶权限。
- 创建成功后,请立即并妥善保存生成的 访问密钥 ID 和 机密访问密钥。
- 在Qexo后台配置S3图床
- 登录你的Qexo管理后台,进入 设置 -> 图床配置。
- 图床类型 选择 S3协议。
- 填写配置信息,具体参数对应关系如下:
| Qexo 配置项 | 填写内容(示例) | 对应 R2 信息 |
|---|---|---|
| 应用密钥 ID | xxxxx |
上一步获得的访问密钥 ID |
| 应用密钥 | yyyyy |
上一步获得的机密访问密钥 |
| 桶 | myblog-images |
你创建的存储桶名称 |
| 地区 | auto |
固定填写 auto |
| 自定义节点 | https://xxxxxxxx.r2.cloudflarestorage.com |
创建令牌时提供的S3终端节点 |
| 自定义域名 | https://images.yourdomain.com/{filename}.{extName} |
你绑定的公开访问域名,并加上后缀格式 |
| 保存路径 | {filename}.{extName} |
可根据需要设置目录,如 blog/{year}/{filename}.{extName} |
保存路径
文件上传后保存的路径 包含文件名
| 关键词 | 意义 | 示例 |
|---|---|---|
| {year} | 当前年份 | 21 |
| {month} | 当前月份 | 1 |
| {day} | 当前日份 | 2 |
| {YEAR} | 当前年份 | 2021 |
| {MONTH} | 当前月份 | 01 |
| {DAY} | 当前日份 | 02 |
| {filename} | 无后缀的文件名 | image |
| {time} | 时间戳 | 1640186955.4339228 |
| {extName} | 文件后缀名 | png |
| {md5} | 图片的 Md5-Hash | 0c8bfe6821a91c3d96b25e2ea2dcf827 |
配置完成后,在Qexo编辑文章时点击上传图片,即可直接保存到R2。
⚡ 核心步骤二:配置EdgeOne CDN加速R2资源
此步骤利用EdgeOne的全球节点,加速国内及全球用户对R2中图片的访问,并能隐藏R2源站。
- 在腾讯云开通与配置EdgeOne
- 登录腾讯云控制台,开通 EdgeOne 服务。
- 在EdgeOne控制台,点击 域名管理 -> 添加域名。
- 填写用于加速的域名(例如
cdn.yourdomain.com),接入方式 选择 CNAME。 - (注:国际站与国内站配置方法相同,此处以国际站作为演示)
- 设置EdgeOne的回源地址
- 源站类型 选择 对象存储(S3兼容)。
- 在源站地址中,填写你在Cloudflare R2存储桶的 公开访问域名(即
https://images.yourdomain.com)。 - 回源类型 选择 HTTPS。 鉴权版本 选择 AWS signature v4。
- 地域 填写 auto。
EdgeOne 配置项 填写内容(示例) 对应 R2 信息 Access Key ID xxxxx上一步获得的访问密钥 ID Secret Access Key yyyyy上一步获得的机密访问密钥
源站为对象存储时只能使用源站域名作为回源 HOST 头
- 完成DNS解析
- 根据EdgeOne提供的CNAME记录值,前往你的域名DNS服务商(如Cloudflare),为
cdn.yourdomain.com添加一条CNAME记录,指向EdgeOne提供的地址。
- 根据EdgeOne提供的CNAME记录值,前往你的域名DNS服务商(如Cloudflare),为
- (可选) 配置缓存与安全规则
- 缓存规则:在EdgeOne的 规则引擎 中,可为图片后缀(如
.jpg,.png)设置较长的缓存时间(如30天),提升重复访问速度。 - 安全防护:可以启用EdgeOne的 Web防护,防止恶意访问。
- 缓存规则:在EdgeOne的 规则引擎 中,可为图片后缀(如
🚀 后续使用与优化建议
完成上述配置后,你的图片访问链路就变成了:用户请求 -> EdgeOne CDN -> Cloudflare R2。
- 修改博客中的资源地址:将博客主题中引用的图片地址前缀,统一替换为你配置的EdgeOne加速域名(如
https://cdn.yourdomain.com)。 - 验证加速效果:可以通过
ping或第三方网站测速工具(如boce.com)对比加速前后的访问延迟。 - 注意缓存刷新:如果更新了R2中的图片,需要到EdgeOne控制台手动刷新对应URL的缓存,用户才能看到最新内容。
💎 总结
通过这套方案,你将R2经济实惠的存储与EdgeOne对国内线路优秀的加速能力相结合,在几乎零服务器成本的前提下,为静态博客的图片等静态资源提供了快速、稳定的全球访问体验。
请注意:EdgeOne的配置界面可能会更新,若遇到差异,以腾讯云官方最新文档为准。
如果你在配置过程中遇到具体的报错信息,或者想了解Hexo与Qexo的详细部署细节,我可以为你提供更进一步的解答。
本文章由 AI 辅助生成,已经过人工核验。如有问题,请在评论区指出。
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自烛影Sordの网络日志
评论






