利用CloudFlare Workers实现域名子路径跳转

有时候我们需要一个网址跳转服务,可以集中对跳转网址进行管理,利用 Cloudflare Workers 来部署,不用解析到VPS服务器,不用在网页中使用跳转代码。

1. 创建一个 Worker

在域名详情页,点击 Workers,点击 创建Worker,在左侧脚本编辑栏,粘贴下面内容,并修改跳转地址。

 1async function handleRequest(request) {
 2  let requestURL = new URL(request.url)
 3  let path = requestURL.pathname.split('/')[1]
 4  let location = redirectMap[path]
 5  if (location) {
 6    return Response.redirect(location, 301)
 7  }
 8  return fetch(request)
 9}
10addEventListener('fetch', async event => {
11  event.respondWith(handleRequest(event.request))
12})
13
14const redirectMap = {
15  search: 'https://baidu.com',
16  news: 'https://sina.com', //可以添加多个跳转
17}

2. 添加路由实现自定义域名

部署之后可以使用 Cloudflare 提供的域名进行访问测试,例如 .workers.dev/search.workers.dev/search/news ,看跳转是否正常。没问题的话我们绑定自己的域名进行网址跳转。

  • 需要注意的是,如果是绑定二级域名,需要先给这个二级域名添加一个 CNAME 记录,否则跳转会有问题。CNAME 记录的内容理论上可以随便写。点开小云朵开启 CDN。
  • 进入 Workers,点击添加路由。

我这里设置的二级子域名 jumping.moththe.com 用作跳转网址,等待片刻生效后,浏览器打开 https://jumping.moththe.com/searchhttps://jumping.moththe.com/news看是否成功。

Cloudflare 给绑定的域名提供免费SSL证书,支持 HTTPS访问。

版权

评论