反代节点(Reverse Proxy Node)通常是指充当反向代理服务器的节点。它们用于接收来自客户端的请求,并将这些请求代理到一个或多个后端服务器,然后将后端服务器的响应返回给客户端。这类似于反向代理服务器的功能,用于负载均衡、缓存、安全性和性能优化等用途。

  • 反代节点通常用于隐藏后端服务器的真实 IP 地址或域名,以提高安全性和隐私。它们可以在网络架构中充当重要的中继点,帮助优化流量分发、减轻后端服务器的负载,同时提供额外的网络功能和安全策略。

  • 因此,反代节点通常是一种反向代理服务器,即服务端代理。它用于管理和代理客户端请求,以改进网络性能和提供其他功能。

接下来,我们通过 Cloudflare Workers 来实现反代节点。

注册 Cloudflare

访问 Cloudflare 控制台 进行注册/登录

域名

正常情况下,cloudflare 会生成一个四级域名地址 ${worker-name}.{username}.workers.dev,但是 worders.dev 在国内已经被墙了,所以我们需要准备一个自己的域名。

假如我打算用cf-wkrs-node.***.com来当作当前的服务地址,那么一级域名 ***.com 需要管理到 Clouadflare 平台。

  • 第一步,登录 Cloudflare -> Websites -> Add a site,选择 Free 套餐即可,免费。

Alt text

  • 第二步,登录到你购买域名的提供商修改域名的 DNS 服务器,替换为 Cloudflare DNS
1
2
karina.ns.cloudflare.com
nile.ns.cloudflare.com

比如,我是在阿里万网购买的域名,修改如下:

img

创建应用

    1. 转到 Worker & Pages 页面,点击 Create application 按钮。

img

    1. 点击 Create Worker 按钮

img

    1. 设置 worker 名称,并部署

img

    1. 点击链接进行访问

img

如果不出意外的话,应该要出意外了,你会发现打不开。因为前面提到了 worders.dev 在国内已经被墙了,所以我们需要绑定一个自己的域名。

    1. 添加自定义域名

img

    1. 输入二级域名

    特别注意: 一级域名需要在 CloudFlare 账号里面,不懂的看前面提到的 【域名】

img

到目前为止我们已经通过 Cloudflare Workers 部署了一个最基本的站点,并自定义了自己的域名地址。

此时,理论上我们应该可以通过访问 https://cf-wkrs-node.***.com 站点来获取到资源了。

接下来将进行反代节点的最后一步。

反向代理

由于某些原因,国内通常是访问不到 【Google 翻译】,所以我以此站点为例,绕过某墙。

    1. 点击 Quick edit,修改代码

img

    1. 复制以下代码,并部署
1
2
3
4
5
6
7
8
9
10
11
12
export default {
async fetch(request, env, ctx) {
let url = new URL(request.url);
if(url.pathname.startsWith('/')){
url.hostname="translate.google.com"; // 修改成自己的节点IP/域名
let new_request = new Request(url, request)
return await fetch(new_request)
}
return await env.ASSETS.fetch(request);
},
};

img

    1. 验证

最后,再次访问 https://cf-wkrs-node.***.com 验证是否返回 Google 翻译 的站点内容。

由于 Cloudflare Workers 的缓存机制,如果在之前过程中有访问过改地址,可能会存在缓存,建议清除缓存后访问。

img

: 记得把 ***.com 换成自己的域名。

结束!!!