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

- 连结：https://blog.guohao.asia/%e9%80%9a%e8%bf%87-cloudflare-%e5%ae%9e%e7%8e%b0%e9%83%a8%e7%bd%b2%e5%9c%a8%e5%9b%bd%e5%86%85%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%9a%84-wordpress-%e4%bd%bf%e7%94%a8-openai-%e6%8f%92%e4%bb%b6.html
- 发布时间：2023-04-21T11:09:56+08:00
- 作者：null

中文   英文   韩语   日语

## 所需资源

 1. [Cloudflare 中国官网](https://blog.guohao.asia/wp-content/themes/wordpress-theme-puock-2.8.16/inc/go.php?to=aHR0cHM6Ly93d3cuY2xvdWRmbGFyZS1jbi5jb20v)
 2. [AI Content Writing Assistant](https://blog.guohao.asia/wp-content/themes/wordpress-theme-puock-2.8.16/inc/go.php?to=aHR0cHM6Ly9jbi53b3JkcHJlc3Mub3JnL3BsdWdpbnMvYWktY29udGVudC13cml0aW5nLWFzc2lzdGFudC8=)
 3. 自有域名
 4. ChatGPT 的 API Key

## 实现步骤

### 1. 在 Cloudflare 上注册站点

![通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件](https://blog.
guohao.asia/wp-content/themes/wordpress-theme-puock-2.8.16/assets/img/z/load.svg"
通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件")

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

![通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件](https://blog.
guohao.asia/wp-content/themes/wordpress-theme-puock-2.8.16/assets/img/z/load.svg"
通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件")

### 2. 新建 Cloudflare Worker

![通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件](https://blog.
guohao.asia/wp-content/themes/wordpress-theme-puock-2.8.16/assets/img/z/load.svg"
通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件")

![通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件](https://blog.
guohao.asia/wp-content/themes/wordpress-theme-puock-2.8.16/assets/img/z/load.svg"
通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件")

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

![通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件](https://blog.
guohao.asia/wp-content/themes/wordpress-theme-puock-2.8.16/assets/img/z/load.svg"
通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件")

    ```language-default
    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. 绑定自定义域名

![通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件](https://blog.
guohao.asia/wp-content/themes/wordpress-theme-puock-2.8.16/assets/img/z/load.svg"
通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件")

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

![通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件](https://blog.
guohao.asia/wp-content/themes/wordpress-theme-puock-2.8.16/assets/img/z/load.svg"
通过 Cloudflare 实现部署在国内服务器的 WordPress 使用 OpenAI 插件")

点击 ` 添加自定义域`

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

### 4. 修改 OpenAI 插件的 API 地址

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