baicai

白菜

一个勤奋的代码搬运工!

建立反向代理服務: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;
    }
}
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。