资讯动态

Cloudflare R2 + Workers:打造个人专属网盘,从零到一实战部署指南

发布时间:2026/8/7 14:03:26 来源:尧图企业网站定制
1. 为什么选择Cloudflare R2 Workers搭建个人网盘最近几年云存储服务越来越贵各大厂商纷纷取消免费额度或者大幅涨价。作为个人开发者我一直在寻找既便宜又好用的存储方案。直到发现了Cloudflare R2这个宝藏服务它完美解决了我的痛点完全免费的10GB存储空间每月100万次读写操作配合Workers的无服务器计算能力可以轻松搭建一个功能完善的私有网盘。我实测下来这套方案有几个突出优势零成本完全在Cloudflare免费额度内运行全球加速依托Cloudflare的CDN网络文件下载速度飞快简单易用不需要维护服务器所有组件都是Serverless的高度自定义通过Workers可以灵活控制访问权限和功能逻辑相比自建Nextcloud或者买商业网盘会员这个方案更适合技术爱好者。不需要懂复杂的服务器运维跟着我的教程一步步操作1小时内就能拥有专属网盘。2. 准备工作与环境配置2.1 注册Cloudflare账号首先需要注册一个Cloudflare账号如果还没有的话。访问官网注册流程非常简单只需要邮箱验证即可。注册完成后建议开启双重认证提升安全性。注意虽然R2有免费额度但绑定信用卡才能开通服务不会扣费2.2 安装必要工具为了后续操作方便建议提前安装Git用于代码管理Node.js 16部署前端需要一个趁手的代码编辑器VS Code等在终端运行以下命令检查环境git --version node -v npm -v2.3 Fork项目仓库我们将基于开源项目FlareDrive-R2进行部署这个项目提供了美观的图形界面。访问GitHub仓库点击右上角Fork按钮将代码复制到你自己的账号下。3. 创建和配置R2存储桶3.1 新建R2存储桶登录Cloudflare控制台进入R2页面点击创建存储桶输入存储桶名称比如my-personal-drive选择离你最近的区域建议选亚太地区点击创建按钮存储桶创建后进入设置页面开启公开访问选项这样我们的网盘才能对外提供服务。系统会生成一个公共访问URL格式类似https://pub-xxxxxxxxxx.r2.dev3.2 配置CORS规则为了让前端能正常访问R2需要设置CORS规则[ { AllowedOrigins: [*], AllowedMethods: [GET, POST, PUT, DELETE], AllowedHeaders: [*] } ]4. 部署前端界面4.1 通过Cloudflare Pages部署进入Cloudflare Pages服务点击创建项目-连接到Git选择你Fork的FlareDrive-R2仓库在构建设置中保持默认配置点击保存并部署首次部署大约需要2-3分钟。部署完成后会生成一个pages.dev的临时域名。4.2 配置环境变量进入Pages项目的设置-环境变量页面添加以下关键变量变量名值说明PUBURL你的R2公共URL存储桶访问地址ADMIN_USER自定义用户名管理员账号ADMIN_PASS自定义密码管理员密码建议密码设置复杂一些避免被恶意攻击。5. 绑定自定义域名5.1 添加DNS记录如果你有自己的域名比如example.com在Cloudflare DNS设置中添加CNAME记录将pan.example.com指向你的Pages部署域名等待DNS生效通常几分钟5.2 配置Pages自定义域回到Pages项目设置进入自定义域选项卡输入你刚设置的子域名pan.example.com按照提示完成验证现在你的网盘就有了专属域名比默认的pages.dev地址更专业好记。6. 高级功能配置6.1 文件大小限制处理默认情况下Pages有25MB的文件上传限制。要突破这个限制在Workers中创建一个新的Worker使用以下代码处理大文件上传export default { async fetch(request, env) { const url new URL(request.url); if (url.pathname.startsWith(/upload)) { return handleUpload(request, env); } return fetch(request); } }; async function handleUpload(request, env) { // 大文件上传逻辑 }6.2 访问日志记录通过Workers可以轻松实现访问日志在Worker脚本中添加日志记录逻辑将日志保存到R2或者第三方服务配置日志轮转策略避免占用太多空间7. 日常使用技巧经过几周的实际使用我总结了一些实用技巧使用文件夹分类管理文件比如/videos、/docs定期清理无用文件避免超出免费额度敏感文件建议加密后再上传分享文件时设置过期时间更安全遇到上传失败的情况可以尝试检查网络连接确认文件大小是否超限查看浏览器控制台是否有错误临时关闭浏览器插件试试这套方案我已经稳定使用了半年多存储了几百个文件从未出过问题。最让我惊喜的是下载速度即使是海外节点也能达到满速。如果你也想拥有一个完全掌控的私有网盘现在就开始动手部署吧

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价