前言
不知道大家有没有遇到过这种情况:辛辛苦苦分享出去的链接,没过多久就变成了“404 Not Found”。第三方短链服务跑路、限流、删链,早就不是什么新鲜事了。
之前我在博客里分享过自建的 API 服务 api.hzv5.cn,集成了 27 种实用接口。今天继续这个“自建工具箱”系列,跟大家聊聊如何用 Cloudflare Workers 免费搭建一个完全属于自己的短链服务。
为什么选择 Cloudflare Workers?
市面上短链服务不少,但要么收费、要么有广告、要么随时可能关停。自建的话,传统方案需要买服务器、搭数据库、配置环境,门槛确实不低。
而 Cloudflare Workers 的优势非常明显:
- 完全免费:每天 10 万次请求的免费额度,个人使用绰绰有余
- 无需服务器:基于边缘计算,部署即用
- 自带 CDN:全球节点加速,访问速度飞快
- 自定义域名:支持绑定自己的域名,短链完全由你掌控
准备工作
开始之前,你需要准备以下几样东西:
- 一个 Cloudflare 账号(免费注册即可)
- 一个域名(最好托管在 Cloudflare,非必须但推荐)
- 一点点 JavaScript 基础(复制粘贴也能搞定)
第一步:创建 Workers 服务
登录 Cloudflare 控制台,点击左侧菜单的 Workers & Pages,然后点击 创建应用程序:
- 选择 创建 Worker
- 给 Worker 起个名字,比如
url-shortener - 点击 部署,完成基础创建
第二步:写入核心代码
在 Worker 的编辑器中,粘贴以下代码:
1 | // 短链映射表 —— 你可以自由增删改 |
代码逻辑非常简单:访问 https://你的域名/gh 时,会自动 301 跳转到 https://github.com。
第三步:绑定自定义域名(可选)
如果你想把短链服务挂在自己的域名下(比如 s.hzv5.cn),只需要:
- 在 Workers 页面点击 触发器 → 自定义域
- 输入你想用的子域名(如 s.hzv5.cn)
- Cloudflare 会自动完成 DNS 配置
这样你就可以用 https://s.hzv5.cn/gh 这样的链接了,比 workers.dev 的域名专业得多。
进阶玩法:接入 KV 存储
上面这种把映射写死在代码里的方式,优点是简单,缺点是每次增删改都要重新部署。如果你的短链比较多,或者想做个管理后台,可以接入 Cloudflare 的 KV 存储:
1 | // 使用 KV 存储读写短链 |
这样你就可以通过 API 动态管理短链了,甚至还能做一个简单的管理页面。
写在最后
整套方案从注册到上线,熟练的话十分钟就能搞定。相比依赖第三方服务,自建短链的好处是数据在自己手里、域名在自己手里、随时可控。
就像我之前说的,让博客变得更有“灵气”,靠的就是这些自己动手搭建的小服务。如果你也在折腾类似的东西,欢迎交流~