前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

作者头像
骤雨重山
发布2023-01-30 16:37:50
11.2K1
发布2023-01-30 16:37:50
举报
文章被收录于专栏:骤雨重山

CloudFlare

CloudFlare提供的不仅仅是CDN,而是一个快速、敏捷、安全的全球网络。 CloudFlare通过全球边缘网络实现超快速的静态和动态内容交付。对内容的高速缓存方式实行精确控制,降低带宽成本,并充分利用内置的不计量 DDoS 保护。 今天我们使用 CloudFlare Workers 和 CloudFlare Pages来搭建我们的反代服务。

通过CloudFlare Workers实现反代

没有CloudFlare账号可以去简单注册一个,以后肯定必然会用的到! 首先,创建一个CloudFlare Workers服务,步奏如下图。

{gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item}

创建好以后,编辑CloudFlare Workers服务,并写入以下代码即可。

代码语言:javascript
复制
addEventListener(
  "fetch",event => {
     let url=new URL(event.request.url);
     url.hostname="cdn.jsdelivr.net";  //你需要反代的域名
     let request=new Request(url,event.request);
     event. respondWith(
       fetch(request)
     )
  }
)

{gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item}

由于CloudFlare Workers自带的免费works.dev域名国内已经无法访问了,需要通过绑定自定义域名.

{gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item}

绑定好域名,我们就可以直接访问了!

通过CloudFlare Pages实现反代

1.直接上传反代脚本.

首先创建CloudFlare Pages服务,选择直接上传.

{gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item}

然后创建一个项目文件夹(名字可以随意),在文件夹内创建一个_worker.js的文件,并写入以下代码:

代码语言:javascript
复制
export default {
  async fetch(request, env) {
    const _url = new URL(request.url);
    _url.hostname = _url.pathname.startsWith("/gh/")
      ? "cdn.jsdelivr.net"
      : "www.baidu.com";
    const req = new Request(_url, request);
    return fetch(req);
  },
};
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

将项目文件夹拖拽到上传区域进行上传(注意:是上传项目文件夹),然后部署项目.

{gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item}

2.将脚本文件托管在Github上,可实时更新.

首先创建一个Git项目,然后creating a new file 一个_worker.js的JS文件并写入以下代码保存.

代码语言:javascript
复制
export default {
  async fetch(request, env) {
    const _url = new URL(request.url);
    _url.hostname = _url.pathname.startsWith("/gh/")
      ? "cdn.jsdelivr.net"
      : "www.baidu.com";
    const req = new Request(_url, request);
    return fetch(req);
  },
};

{gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item}

然后创建CloudFlare Pages服务,选择连接到Git,选择你刚刚创建的Git项目,开始设置。 使用默认配置,并保存部署即可。

{gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item}

到此,我们通过CloudFlare Pages创建的服务已经成功了.

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

由于CloudFlare Pages自带的免费pages.dev域名国内访问也是很不稳定,这里极其建议同学们绑定自定义域名进行访问! 方法也很简单,首先打开CloudFlare Pages,选择你刚刚创建的服务 然后 点击自定义域 => 设置自定义域名 => 进行CNAME解析 => 激活域 即可大功告成!

{gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item}

以上内容,我们已经完成了两种反向代理的搭建,大家自行选择一种,坚持能跑就行的原则,继续接下来的缓存步骤.

配置Github加速文件的边缘缓存

选择你得域名,点击 规则 => 页面规则 => 创建页面规则 如图所示,设置以下规则,并保存部署页面规则即可.

{gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item} {gird-item}

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

{/gird-item}

最后我们访问一下,感受一下速度~

利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问

今天也是一只白嫖怪噢~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CloudFlare
  • 通过CloudFlare Workers实现反代
  • 通过CloudFlare Pages实现反代
  • 配置Github加速文件的边缘缓存
  • 今天也是一只白嫖怪噢~
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档