通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件

作者 郭 浩

所需资源

  1. Cloudflare 中国官网
  2. AI Content Writing Assistant
  3. 自有域名
  4. ChatGPT 的 API Key

实现步骤

1. 在 Cloudflare 上注册站点

在Cloudflare上注册站点

首先,将自己的域名注册到 Cloudflare 上,然后将域名的 NS 地址修改为 emely.ns.cloudflare.comsteven.ns.cloudflare.com。需要注意的是,尽量不要使用 .cn 的域名,因为域名变更速度会非常慢。

image-20230421101949166

2. 新建 Cloudflare Worker

image-20230421102125126
image-20230421102229354

在 Cloudflare 上,创建一个 Workers 服务,并按照如下内容粘贴反代代码:

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

3. 绑定自定义域名

image-20230421102746823

在之前的管理界面中切换至触发器选项卡。

image-20230421102840111

点击添加自定义域

这一步之前要确保最开始添加网站已经成功,NS设置已生效。Cloudflare在这一步会自动做好自定义二级域名的解析。

4. 修改 OpenAI 插件的 API 地址

在 WordPress 中安装 AI Content Writing Assistant 插件,修改 ai-content-writing-assistant\includes\OpenAi.php 文件 48行、51行 中的 https://api.openai.com 为之前设置的自定义域名即可。