爬行的蜗牛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: golang Linux PHP
查看: 412|回复: 0

利用 cloudflare workers来畅游github

[复制链接]

83

主题

31

回帖

780

积分

管理员

积分
780
发表于 2024-9-8 21:52:46 | 显示全部楼层 |阅读模式
要实现在国内利用workers访问github。那么前提条件就是你有一个cloudflare账号以及一个域名。关于什么是cloudflare,这里简单说一下 : Cloudflare 是一家广受认可的公司,在互联网行业中享有良好声誉。他们的服务被许多大型企业和网站使用,以提供网络安全防护、DDoS 攻击防御和性能优化等功能,也是目前还提供免费cdn的良心厂商之一。简称 赛博大活佛。那么话不多说,我们直接开始今天的教程。

登录自己的cf账号,且将你的域名,托管到 CF 。这一步很重要 。将域名托管到CF的方法也很简单,我们只要去对应的域名厂商,把name server服务器改成 cf的就行。如下图。当然要注意的是CF的name server服务器并不是只有以下2个。得看你添加站点的时候的页面提示是哪2个。 这一步完成之后,我们就可以看后续的步骤。

Cloudflare 名称服务器
Cloudflare 上的每个 DNS 区域都会被分配一组 Cloudflare 品牌名称服务器。
类型  值
NS  bowen.ns.cloudflare.com
NS  leia.ns.cloudflare.com

  • 点击左侧菜单栏的 Workers 和 Pages
  • 点击概述 – 创建 – 创建worker ,然后名字 和代码不用管。我们先直接点击部署。当然,你也可以起你想要的名字,不过这个并不太重要。
  • 部署成功后,页面会提示部署成功。然后此时我们再点击编辑代码。

    1.png


  • 在代码输入框里,我们将以下代码复制。复制后,点击右上角的 部署。部署最新的代码即可。 代码如下:
    1. export default {
    2.   async fetch(request, env) {
    3.     const _url = new URL(request.url);
    4.     const hostname = _url.hostname
    5.     _url.hostname = "github.com"
    6.     const req = new Request(_url, request);
    7.     req.headers.set('origin', 'https://github.com');

    8.     const res = await fetch(req);
    9.     let newres = new Response(res.body, res);

    10.     let location = newres.headers.get('location');
    11.     if (location !== null && location !== "") {
    12.       location = location.replace('://github.com', '://'+hostname);
    13.       newres.headers.set('location', location);
    14.     }
    15.     return newres
    16.   },
    17. };
    复制代码


    • 到这一步,我们已经完成了50%了。此时如果你有科技的力量。那么已经可以通过cf分配的域名访问该站点了,如果是国内网络那么由于DNS污染,还是无法访问该站点的。此时我们就需要添加我们自己的域名,从而实现访问了。
    • 然后我们点击 设置 – 触发器 -添加自定义域名,然后保存

  • k17tcr-0.png
  • 将域名托管到CF的好处是,我们无需先新建一个域名记录,在worker这里直接输入自定义域名,就可以自动帮我们创建好了。如下图,输入自己的期望域名后,点击保存即可

    k7334j-0.png
  • 保存之后,1分钟之内的时间,CF就会帮我们设置好记录以及开启HTTPS。然后我们访问我们的自定义域名,大功告成!!!。



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表