使用cloudflare实现无服务器 301 跳转

  1. 完整步骤
    1. 新建 workers
    2. 其他路由

完整步骤

新建 workers

workers 即 Cloudflare 推出的 serverless 云函数。在 主页 直接点击 workers 新建一个,名字随意,代码如下:

async function handleRequest() {
  return Response.redirect(someURLToRedirectTo, code);
}
addEventListener("fetch", async (event) => {
  event.respondWith(handleRequest());
});
/**
 * @param {Request} url where to redirect the response
 * @param {number?=301|302} type permanent or temporary redirect
 */
const someURLToRedirectTo = "https://batkiz.visualstudio.com/";
const code = 301;

部署好之后即可通过其 workers.dev 域名访问了,其会在访问时 301 跳转到指定页。

可是 workers.dev 的域名太长了,也与最初的需求(通过 git.batkiz.com 访问我的 Azure DevOps 主页)不符。因此需要通过某种手段把此域名 CNAME 到 git.batkiz.com 这个域名上。

但云函数显然是没有 CNAME 这个说法的,所以需要借助其他路由来实现。

其他路由

从 dash 点进需要的域名设置,进入其 workers tab,选择添加路由即可。

路由示例:*git.baidu.com.com/*,选择匹配的 worker 即可。

而后进入 dns 编辑页,给所用的域名(本例中为 git.baidu.com)添加一个 A 记录,指向 192.2.0.1

然后就能用啦!


欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。

×

喜欢就点赞,疼爱就打赏

//