搭建反向代理服务:Telegram Bot Api 反向代理搭建

上面一篇通过nginx和cloudflare workers 搭建的反向代理。

这一篇通过更简单的代码重下搭建个。

通过 Cloudflare Workers 搭建反向代理服务

创建 Cloudflare workers 的步骤都是一样的,代码不一样。

创建一个Worker

在首页选择Workers,若从未创建过则初始化,选择免费套餐,然后创建一个Worker。

编辑Worker内容

进入worker,点击快速编辑,将代码改为下方内容,其中hostname改为你自己的,然后点击保存部署,并可改名为例如cdn的worker。

// 这就是需要代理的网址
const hostname = "https://example.domain"
// const hostname = "http://192.168.0.1"
// const hostname = "https://your.domain"
// const hostname = "https://your.domain/api/path"

function handleRequest(request) {
 let url = new URL(request.url);
 return fetch(new Request(hostname + url.pathname,request))
}

addEventListener("fetch", event => {
 event.respondWith(handleRequest(event.request))
})

为域名添加DNS

添加路由,配置

指向步骤1创建的 Worker,到此等待DNS生效即可。

通过 Vercel 搭建反向代理服务

在github中新建个项目 创建一个文件,命名为 vercel.json 文件内容:

{
 "routes": [
 { "src": "/.*", "dest": "https://example.domain"}
 ]
}

进入 vercel 后台 部署这个项目 配置好自定义域名,即可使用。

通用代理 json 内容 参考:

{
 "routes": [
 { "src": "/redirect", "status": 308, "headers": { "Location": "https://example.domain/" } },
 { "src": "/custom-page", "headers": {"cache-control": "s-maxage=1000"}, "dest": "/index.html" },
 { "src": "/api", "dest": "/my-api.js" },
 { "src": "/users", "methods": ["POST"], "dest": "/users-api.js" },
 { "src": "/users/(?<id>[^/]*)", "dest": "/users-api.js?id=$id" },
 { "src": "/legacy", "status": 404},
 { "src": "/.*", "dest": "https://example.domain/"}
 ]
}

通过Nginx 对网站进行反向代理

创建配置文件

nano /etc/nginx/conf.d/tgapi.conf

输入一下内容并保存

server {
listen 80;
server_name tgapi.domain;
location / {
return 444;
}
location ~* ^/bot {
resolver 8.8.8.8;
proxy_buffering off;
proxy_pass https://example.domain$request_uri;
}
}

文章来源:

Author:白菜
link:https://blog.baicai.me/article/2023/reverse-proxy/