操作步骤说明:

1、域名购买

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

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

一、域名注册

国内主流的域名注册途径是腾讯云、阿里云,这里我选择在腾讯云购买域名。附上购买链接:

域名注册购买_域名注册选购 - 腾讯云

域名注册购买_域名注册选购 - 腾讯云 (tencent.com)icon-default.png?t=N6B9https://buy.cloud.tencent.com/domain?from=console我们买域名的时候,往往只注意到了首购价,但是这里会有一个坑等着我们,那就是续费价。有的域名节点,例如.cloud 域名,首购价10元/年,但是续费价要130元/年,因此我们在购买域名的时候,要综合考虑首购及续费的价格因素,选择性价比最高的域名。

除了购买的时候,顶级域名后缀选择的这个问题以外,其余域名注册流程,按照腾讯云官方教程,都很详尽,这里不再赘述。

二、cloudFlare注册账号

首先,前往cloudFlare官网,根据提示注册账号。

Cloudflare | Web Performance & Securityicon-default.png?t=N6B9https://dash.cloudflare.com/而后,登录到cloudFlare,点击右边侧边栏 “网站”,点击“添加站点”

​而后在这里输入刚刚购买的域名,

​把页面拉到最下面选择 免费free 然后点击继续,

​然后进行dns配置,参照我下图的内容进行配置,点击保存记录后,然后点击继续

​然后就会到达dns服务器修改界面

​回到腾讯云的域名管理界面,点击更多,选择修改DNS服务器

​选择自定义DNS,将cloudFlare提供的DNS信息输入上去,完成dns服务器修改。

修改完成后,dns状态会变为其他,此时完成dns服务器修改。

​回到cloudflare,等待10分钟-24小时左右,等待DNS服务器更新。更新通过后,会发邮件通知你,完成dns域名服务器修改。

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

返回cloudFlare主页,点击侧边栏“workers和pages",点击创建应用程序

​点击创建worker

​输入worker名称,这里可以自定义,例如openai-proxy-info,然后点击部署

​部署完成之后,点击快速编辑

​替换如下代码,然后点击保存并部署。

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;
}

然后点击触发器,点击添加自定义域,完成这一步之后,就可以通过你刚刚申请的域名,例如https://workai.funy 来代替 OpenAI 的 API 地址 https://api.openai.com.

​这里输入刚刚购买的域名,点击添加就可以了。

到这里,就完成基于cloudFlare实现反向代理,可以国内访问openai Api,再也不会出现443err问题了。

喜欢的小伙伴可以点个关注、收藏、赞同哦~

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐