使用Cloudflare创建openai的反向代理

    大家在使用Cloudflare做反向代理的时候会遇到一个问题,命名已经配置好了,但是还是访问不了,是因为Cloudflare的workers.dev域名在中国大陆区域已经被污染无法访问,所以需要自有域名进行解析。

本文的主要内容有以下三部分

1、域名购买

2、cloudFlare账号注册及DNS服务器修改

3、cloudFlare worker创建及反向代理配置

1、域名购买

可以购买域名的网站有很多,有免费的,有付费的。

国外免费的我也试了好几个,但是都不行,也没摸到门道。

国内的大家可以用阿里云,腾讯云,首次申请个普通的域名也很便宜,一年十几块钱,还能接受啦

 2、cloudFlare账号注册及DNS服务器修改

首先你注册一个Cloudflare的账号,官网地址是Cloudflare 中国官网 | 智能化云服务平台 | 免费CDN安全防护 | Cloudflare

注册很方便,Cloudflare上边也可以购买域名,但是价格比较贵了,最便宜的一年也得9刀左右

进入主页,点“添加站点”

填上你购买的域名,点continue

 选Free的配置,你想氪金也没问题

到DNS界面后选择下一步,最后出现修改原域名DNS的界面,停留一下

修改自己域名的DNS

登录到阿里云的域名管理控制台,点击“管理”

 点击DNS修改,修改DNS服务器,我这个是已经修改过了

把Cloudflare的DNS服务器地址填到这里

 然后就是等待了,大概十几分钟就好了,远远用不了24小时,你就会收到邮件了

至此,你的域名已经绑定到Cloudflare上了

3、创建反向代理

我的目的很明确,我是要创建openapi的反向代理

回到Cloudflare首页,点击“Workers和Pages”,右上角“创建应用程序”

创建workers

输入worker的名称,点击部署

点编辑代码

把以下内容替换到worker.js中,点击右上角的“保存并部署”

代码来源于github开源工程GitHub - x-dr/chatgptProxyAPI: 🔥 使用cloudflare 搭建免费的 OpenAI api代理 ,解决网络无法访问问题。支持流式输出

const TELEGRAPH_URL = 'https://api.openai.com';

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

async function handleRequest(request) {
  const url = new URL(request.url);
  url.host = TELEGRAPH_URL.replace(/^https?:\/\//, '');

  const modifiedRequest = new Request(url.toString(), {
    headers: request.headers,
    method: request.method,
    body: request.body,
    redirect: 'follow'
  });

  const response = await fetch(modifiedRequest);
  const modifiedResponse = new Response(response.body, response);

  // 添加允许跨域访问的响应头
  modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');

  return modifiedResponse;
}

最后一步,替换自己的域名,回到worker的管理界面,点击触发器,添加自定义域

输入自己的域名,点击添加

然后需要等待一会

最终验证一下效果,在浏览器中输入你的域名,可以看到,已经代理到openai的服务器了,大功告成

Cloudflare每天有10w次的免费额度,对于个人来说,一般都够用了

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值