之前大家有可能使用过CloudFlare Workers反代过任何网站。但是Workers的默认域名workers.dev被墙了,对于有些朋友而言有些不太方便。这篇文章介绍的Deno Deploy目前来说没有被墙,可以和cf workers一样,实现反代任何网站的效果。

准备材料

  • GitHub 账户

免费计划限制

  • 每天100,000次请求
  • 每月100GB流量
  • 与公共和私人仓库的Github集成
  • 在所有32个地区运行
  • 免费的Deno.dev子域名和自定义域名
  • 自动HTTPS / TLS
  • 无限的生产部署和预览
  • 每个请求的CPU时间(非挂钟时间)最多为10ms

步骤

  1. 打开Deno Deploy,点击“Get Started”

  1. 登录GitHub账户,然后点击“New Project”

 

  1. 这里有三种部署方式:GitHub仓库、CLI和在线编辑。我们就使用在线编辑,点击“Play”进入编辑器

 

  1. 输入反代代码,然后点击“Save and deploy”。保存之后编辑器会像CF Workers一样会实时预览

 

反代代码:

import { serve } from "https://deno.land/std@0.155.0/http/server.ts";

async function handler(req: Request): Promise<Response> {
  const url = new URL(req.url);
  url.protocol = "https:"; // 传输协议
  url.hostname = "example.com"; // 反代域名
  url.port = "443"; // 访问端口
  return await fetch(url.href, {
    headers: req.headers,
    method: req.method,
    body: req.body,
  });
}

serve(handler);

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。