You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/04/20 04:12:26 UTC

[GitHub] [apisix] guoqqqi commented on a diff in pull request #6736: docs: sync Chinese version FAQ docs

guoqqqi commented on code in PR #6736:
URL: https://github.com/apache/apisix/pull/6736#discussion_r853707947


##########
docs/zh/latest/FAQ.md:
##########
@@ -367,9 +384,11 @@ curl -i http://127.0.0.1:9180/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f03433
 }'
 ```
 
-## route 的 `uri` 如何进行正则匹配
+**注意**:Apache APISIX Dashboard 正在监听' 127.0.0.1:9000 '。

Review Comment:
   ```suggestion
   **注意**: Apache APISIX Dashboard 正在监听' 127.0.0.1:9000'。
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -469,40 +485,47 @@ HTTP/1.1 200 OK
 ......
 ```
 
-路由创建成功,表示 `X-API-KEY` 修改生效。
+**注意**:通过使用默认令牌,您可能会暴露于安全风险。在将其部署到生产环境时,需要对其进行更新。
 
-## 如何允许所有 IP 访问 Admin API
+## 如何允许所有ip访问 Apache APISIX 的管理API?
 
-Apache APISIX 默认只允许 `127.0.0.0/24` 的 IP 段范围访问 `Admin API`,如果你想允许所有的 IP 访问,那么你只需在 `conf/config.yaml` 配置文件中添加如下的配置。
+Apache APISIX 默认只允许 `127.0.0.0/24` 的 IP 段范围访问 `Admin API`,
+
+如果你想允许所有的 IP 访问,那么你只需在 `conf/config.yaml` 配置文件中添加如下的配置然后重新开启或重新加载 APISIX,所有 IP 便可以访问 `Admin API`。
 
 ```yaml
 apisix:
   allow_admin:
     - 0.0.0.0/0
 ```
 
-重启或 reload APISIX,所有 IP 便可以访问 `Admin API`。
-
 **注意:您可以在非生产环境中使用此方法,以允许所有客户端从任何地方访问您的 `Apache APISIX` 实例,但是在生产环境中使用它并不安全。在生产环境中,请仅授权特定的 IP 地址或地址范围访问您的实例。**
 
-## 基于 acme.sh 自动更新 apisix ssl 证书
+## 我应该如何基于 acme.sh 自动更新 apisix ssl 证书?
 
-```bash
-$ curl --output /root/.acme.sh/renew-hook-update-apisix.sh --silent https://gist.githubusercontent.com/anjia0532/9ebf8011322f43e3f5037bc2af3aeaa6/raw/65b359a4eed0ae990f9188c2afa22bacd8471652/renew-hook-update-apisix.sh
+你可以运行以下命令来实现这一点:
 
-$ chmod +x /root/.acme.sh/renew-hook-update-apisix.sh
+```bash
+curl --output /root/.acme.sh/renew-hook-update-apisix.sh --silent https://gist.githubusercontent.com/anjia0532/9ebf8011322f43e3f5037bc2af3aeaa6/raw/65b359a4eed0ae990f9188c2afa22bacd8471652/renew-hook-update-apisix.sh
+```
 
-$ acme.sh  --issue  --staging  -d demo.domain --renew-hook "~/.acme.sh/renew-hook-update-apisix.sh  -h http://apisix-admin:port -p /root/.acme.sh/demo.domain/demo.domain.cer -k /root/.acme.sh/demo.domain/demo.domain.key -a xxxxxxxxxxxxx"
+```bash
+chmod +x /root/.acme.sh/renew-hook-update-apisix.sh
+```
 
-$ acme.sh --renew --domain demo.domain
+```bash
+acme.sh  --issue  --staging  -d demo.domain --renew-hook "/root/.acme.sh/renew-hook-update-apisix.sh  -h http://apisix-admin:port -p /root/.acme.sh/demo.domain/demo.domain.cer -k /root/.acme.sh/demo.domain/demo.domain.key -a xxxxxxxxxxxxx"
+```
 
+```bash
+acme.sh --renew --domain demo.domain
 ```
 
-详细步骤,可以参考博客 https://juejin.cn/post/6965778290619449351
+详细步骤,可以参考博客 [this post](https://juejin.cn/post/6965778290619449351)。
 
-## 如何在路径匹配时剪除请求路径前缀
+## 在Apache APISIX中,我如何在转发到上游之前从路径中删除一个前缀?

Review Comment:
   ```suggestion
   ## 在 Apache APISIX 中,我如何在转发到上游之前从路径中删除一个前缀?
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -257,72 +274,72 @@ Apache APISIX 的插件支持热加载。
          - 9445
    ```
 
-2.重启抑或 reload APISIX
+2.重启抑或 reload APISIX。
 
 ## APISIX 利用 etcd 如何实现毫秒级别的配置同步
 
-etcd 提供订阅接口用于监听指定关键字、目录是否发生变更(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。
+Apache APISIX使用etcd作为它的配置中心。Etcd提供以下订阅功能(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。它可以监视对特定关键字或目录的更改。
 
 APISIX 主要使用 [etcd.watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir) 监视目录内容变更:
 
-* 如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
-* 如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
+如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
 
-借助 etcd 增量通知毫秒级特性,APISIX 也就完成了毫秒级的配置同步。
+如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
 
-## 如何自定义 APISIX 实例 id
+## 我应该如何自定义 APISIX 实例 id
 
-默认情况下,APISIX 会从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
+默认情况下,APISIX 从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
 
-如果你想指定一个有意义的 id 来绑定 APISIX 实例到你的内部系统,你可以在 `conf/config.yaml` 中进行配置,示例:
+要指定一个有意义的id来绑定Apache APISIX到您的内部系统,请在您的“conf/config”中设置“id”。yaml的文件:
 
-    ```
-    apisix:
-      id: "your-meaningful-id"
-    ```
+```yaml
+apisix:
+  id: "your-id"
+```
 
-## 为什么 `error.log` 中会有许多诸如 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
+## 为什么 `error.log` 中会出现 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
 
-首先请确保 APISIX 和 etcd 之间不存在网络分区的情况。
+请按照以下步骤进行故障排除:
 
-如果网络的确是健康的,请检查你的 etcd 集群是否启用了 [gRPC gateway](https://etcd.io/docs/v3.4/dev-guide/api_grpc_gateway/) 特性。然而,当你使用命令行参数或配置文件启动 etcd 时,此特性的默认启用情况又是不同的。
+1. 确保Apache APISIX和集群中的etcd部署之间没有任何网络问题。
+2. 如果网络正常,请检查是否为etcd启用了[gRPC gateway](https://etcd.io/docs/v3.4.0/dev-guide/api_grpc_gateway/)。默认状态取决于您是使用命令行选项还是配置文件来启动etcd服务器。
 
-1. 当使用命令行参数启动 etcd,该特性默认被启用,相关选项是 `enable-grpc-gateway`。
+— 如果使用命令行选项,默认启用gRPC网关。可以手动启用,如下所示:
 
 ```sh
 etcd --enable-grpc-gateway --data-dir=/path/to/data
 ```
 
-注意该选项并没有展示在 `etcd --help` 的输出中。
+**注意**:当运行' etcd——help '时,这个标志不会显示。
 
-2. 使用配置文件时,该特性默认被关闭,请明确启用 `enable-grpc-gateway` 配置项。
+— 如果使用配置文件,默认关闭gRPC网关。您可以手动启用,如下所示:
+
+  In `etcd.json`:
 
 ```json
-# etcd.json
 {
     "enable-grpc-gateway": true,
     "data-dir": "/path/to/data"
 }
 ```
 
+  In `etcd.conf.yml`:
+
 ```yml
-# etcd.conf.yml
 enable-grpc-gateway: true
 ```
 
-事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。
+**注意**:事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。
 
-## 如何创建高可用的 Apache APISIX 集群?
+## 我应该如何创建高可用的 Apache APISIX 集群?
 
-APISIX 的高可用可分为两个部分:
+Apache APISIX可以通过在其前面添加一个负载均衡器来实现高可用性,因为APISIX的数据平面是无状态的,并且可以在需要时进行扩展。
 
-1、Apache APISIX 的数据平面是无状态的,可以进行随意的弹性伸缩,前面加一层 LB 即可。
+Apache APISIX 的控制平面是依赖于 `etcd cluster` 的高可用实现的,它只依赖于etcd集群。
 
-2、Apache APISIX 的控制平面是依赖于 `etcd cluster` 的高可用实现的,不需要任何关系型数据库的依赖。
+## 安装Apache APISIX时,为什么make deps命令失败?

Review Comment:
   ```suggestion
   ## 安装 Apache APISIX 时,为什么 make deps 命令失败?
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -257,72 +274,72 @@ Apache APISIX 的插件支持热加载。
          - 9445
    ```
 
-2.重启抑或 reload APISIX
+2.重启抑或 reload APISIX。
 
 ## APISIX 利用 etcd 如何实现毫秒级别的配置同步
 
-etcd 提供订阅接口用于监听指定关键字、目录是否发生变更(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。
+Apache APISIX使用etcd作为它的配置中心。Etcd提供以下订阅功能(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。它可以监视对特定关键字或目录的更改。

Review Comment:
   ,



##########
docs/zh/latest/FAQ.md:
##########
@@ -334,21 +351,21 @@ Example: luarocks install luasec OPENSSL_DIR=/usr/local
 make: *** [deps] Error 1
 ```
 
-## 如何通过 APISIX 代理访问 APISIX Dashboard
+这是由于缺少OpenResty openssl开发工具包。要安装它,请参考[installation dependencies](install-dependencies.md)。
+
+## 我应该如何通过 APISIX 代理访问 APISIX Dashboard
 
-1、保持 APISIX 代理端口和 Admin API 端口不同(或禁用 Admin API)。例如,在 `conf/config.yaml` 中做如下配置。
+您可以按照以下步骤进行配置:
 
-Admin API 使用独立端口 9180:
+1. 为Apache APISIX代理和管理API配置不同的端口。或者,禁用管理API。

Review Comment:
   ```suggestion
   1. 为 Apache APISIX 代理和管理 API 配置不同的端口。或者,禁用管理 API。
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -257,72 +274,72 @@ Apache APISIX 的插件支持热加载。
          - 9445
    ```
 
-2.重启抑或 reload APISIX
+2.重启抑或 reload APISIX。
 
 ## APISIX 利用 etcd 如何实现毫秒级别的配置同步
 
-etcd 提供订阅接口用于监听指定关键字、目录是否发生变更(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。
+Apache APISIX使用etcd作为它的配置中心。Etcd提供以下订阅功能(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。它可以监视对特定关键字或目录的更改。
 
 APISIX 主要使用 [etcd.watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir) 监视目录内容变更:
 
-* 如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
-* 如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
+如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
 
-借助 etcd 增量通知毫秒级特性,APISIX 也就完成了毫秒级的配置同步。
+如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
 
-## 如何自定义 APISIX 实例 id
+## 我应该如何自定义 APISIX 实例 id
 
-默认情况下,APISIX 会从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
+默认情况下,APISIX 从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
 
-如果你想指定一个有意义的 id 来绑定 APISIX 实例到你的内部系统,你可以在 `conf/config.yaml` 中进行配置,示例:
+要指定一个有意义的id来绑定Apache APISIX到您的内部系统,请在您的“conf/config”中设置“id”。yaml的文件:
 
-    ```
-    apisix:
-      id: "your-meaningful-id"
-    ```
+```yaml
+apisix:
+  id: "your-id"
+```
 
-## 为什么 `error.log` 中会有许多诸如 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
+## 为什么 `error.log` 中会出现 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
 
-首先请确保 APISIX 和 etcd 之间不存在网络分区的情况。
+请按照以下步骤进行故障排除:
 
-如果网络的确是健康的,请检查你的 etcd 集群是否启用了 [gRPC gateway](https://etcd.io/docs/v3.4/dev-guide/api_grpc_gateway/) 特性。然而,当你使用命令行参数或配置文件启动 etcd 时,此特性的默认启用情况又是不同的。
+1. 确保Apache APISIX和集群中的etcd部署之间没有任何网络问题。
+2. 如果网络正常,请检查是否为etcd启用了[gRPC gateway](https://etcd.io/docs/v3.4.0/dev-guide/api_grpc_gateway/)。默认状态取决于您是使用命令行选项还是配置文件来启动etcd服务器。
 
-1. 当使用命令行参数启动 etcd,该特性默认被启用,相关选项是 `enable-grpc-gateway`。
+— 如果使用命令行选项,默认启用gRPC网关。可以手动启用,如下所示:
 
 ```sh
 etcd --enable-grpc-gateway --data-dir=/path/to/data
 ```
 
-注意该选项并没有展示在 `etcd --help` 的输出中。
+**注意**:当运行' etcd——help '时,这个标志不会显示。
 
-2. 使用配置文件时,该特性默认被关闭,请明确启用 `enable-grpc-gateway` 配置项。
+— 如果使用配置文件,默认关闭gRPC网关。您可以手动启用,如下所示:
+
+  In `etcd.json`:
 
 ```json
-# etcd.json
 {
     "enable-grpc-gateway": true,
     "data-dir": "/path/to/data"
 }
 ```
 
+  In `etcd.conf.yml`:
+
 ```yml
-# etcd.conf.yml
 enable-grpc-gateway: true
 ```
 
-事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。
+**注意**:事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。
 
-## 如何创建高可用的 Apache APISIX 集群?
+## 我应该如何创建高可用的 Apache APISIX 集群?
 
-APISIX 的高可用可分为两个部分:
+Apache APISIX可以通过在其前面添加一个负载均衡器来实现高可用性,因为APISIX的数据平面是无状态的,并且可以在需要时进行扩展。

Review Comment:
   ```suggestion
   Apache APISIX 可以通过在其前面添加一个负载均衡器来实现高可用性,因为 APISIX 的数据面是无状态的,并且可以在需要时进行扩展。
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -257,72 +274,72 @@ Apache APISIX 的插件支持热加载。
          - 9445
    ```
 
-2.重启抑或 reload APISIX
+2.重启抑或 reload APISIX。
 
 ## APISIX 利用 etcd 如何实现毫秒级别的配置同步
 
-etcd 提供订阅接口用于监听指定关键字、目录是否发生变更(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。
+Apache APISIX使用etcd作为它的配置中心。Etcd提供以下订阅功能(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。它可以监视对特定关键字或目录的更改。
 
 APISIX 主要使用 [etcd.watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir) 监视目录内容变更:
 
-* 如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
-* 如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
+如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
 
-借助 etcd 增量通知毫秒级特性,APISIX 也就完成了毫秒级的配置同步。
+如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
 
-## 如何自定义 APISIX 实例 id
+## 我应该如何自定义 APISIX 实例 id
 
-默认情况下,APISIX 会从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
+默认情况下,APISIX 从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
 
-如果你想指定一个有意义的 id 来绑定 APISIX 实例到你的内部系统,你可以在 `conf/config.yaml` 中进行配置,示例:
+要指定一个有意义的id来绑定Apache APISIX到您的内部系统,请在您的“conf/config”中设置“id”。yaml的文件:

Review Comment:
   ```suggestion
   要指定一个有意义的 id 来绑定 Apache APISIX 到您的内部系统,请在您的 `conf/config` 中设置 id。yaml 的文件:
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -257,72 +274,72 @@ Apache APISIX 的插件支持热加载。
          - 9445
    ```
 
-2.重启抑或 reload APISIX
+2.重启抑或 reload APISIX。
 
 ## APISIX 利用 etcd 如何实现毫秒级别的配置同步
 
-etcd 提供订阅接口用于监听指定关键字、目录是否发生变更(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。
+Apache APISIX使用etcd作为它的配置中心。Etcd提供以下订阅功能(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。它可以监视对特定关键字或目录的更改。
 
 APISIX 主要使用 [etcd.watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir) 监视目录内容变更:
 
-* 如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
-* 如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
+如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
 
-借助 etcd 增量通知毫秒级特性,APISIX 也就完成了毫秒级的配置同步。
+如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
 
-## 如何自定义 APISIX 实例 id
+## 我应该如何自定义 APISIX 实例 id
 
-默认情况下,APISIX 会从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
+默认情况下,APISIX 从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
 
-如果你想指定一个有意义的 id 来绑定 APISIX 实例到你的内部系统,你可以在 `conf/config.yaml` 中进行配置,示例:
+要指定一个有意义的id来绑定Apache APISIX到您的内部系统,请在您的“conf/config”中设置“id”。yaml的文件:
 
-    ```
-    apisix:
-      id: "your-meaningful-id"
-    ```
+```yaml
+apisix:
+  id: "your-id"
+```
 
-## 为什么 `error.log` 中会有许多诸如 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
+## 为什么 `error.log` 中会出现 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
 
-首先请确保 APISIX 和 etcd 之间不存在网络分区的情况。
+请按照以下步骤进行故障排除:
 
-如果网络的确是健康的,请检查你的 etcd 集群是否启用了 [gRPC gateway](https://etcd.io/docs/v3.4/dev-guide/api_grpc_gateway/) 特性。然而,当你使用命令行参数或配置文件启动 etcd 时,此特性的默认启用情况又是不同的。
+1. 确保Apache APISIX和集群中的etcd部署之间没有任何网络问题。

Review Comment:
   ```suggestion
   1. 确保 Apache APISIX 和集群中的 etcd 部署之间没有任何网络问题。
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -257,72 +274,72 @@ Apache APISIX 的插件支持热加载。
          - 9445
    ```
 
-2.重启抑或 reload APISIX
+2.重启抑或 reload APISIX。
 
 ## APISIX 利用 etcd 如何实现毫秒级别的配置同步
 
-etcd 提供订阅接口用于监听指定关键字、目录是否发生变更(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。
+Apache APISIX使用etcd作为它的配置中心。Etcd提供以下订阅功能(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。它可以监视对特定关键字或目录的更改。
 
 APISIX 主要使用 [etcd.watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir) 监视目录内容变更:
 
-* 如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
-* 如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
+如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
 
-借助 etcd 增量通知毫秒级特性,APISIX 也就完成了毫秒级的配置同步。
+如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
 
-## 如何自定义 APISIX 实例 id
+## 我应该如何自定义 APISIX 实例 id
 
-默认情况下,APISIX 会从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
+默认情况下,APISIX 从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
 
-如果你想指定一个有意义的 id 来绑定 APISIX 实例到你的内部系统,你可以在 `conf/config.yaml` 中进行配置,示例:
+要指定一个有意义的id来绑定Apache APISIX到您的内部系统,请在您的“conf/config”中设置“id”。yaml的文件:
 
-    ```
-    apisix:
-      id: "your-meaningful-id"
-    ```
+```yaml
+apisix:
+  id: "your-id"
+```
 
-## 为什么 `error.log` 中会有许多诸如 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
+## 为什么 `error.log` 中会出现 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
 
-首先请确保 APISIX 和 etcd 之间不存在网络分区的情况。
+请按照以下步骤进行故障排除:
 
-如果网络的确是健康的,请检查你的 etcd 集群是否启用了 [gRPC gateway](https://etcd.io/docs/v3.4/dev-guide/api_grpc_gateway/) 特性。然而,当你使用命令行参数或配置文件启动 etcd 时,此特性的默认启用情况又是不同的。
+1. 确保Apache APISIX和集群中的etcd部署之间没有任何网络问题。
+2. 如果网络正常,请检查是否为etcd启用了[gRPC gateway](https://etcd.io/docs/v3.4.0/dev-guide/api_grpc_gateway/)。默认状态取决于您是使用命令行选项还是配置文件来启动etcd服务器。
 
-1. 当使用命令行参数启动 etcd,该特性默认被启用,相关选项是 `enable-grpc-gateway`。
+— 如果使用命令行选项,默认启用gRPC网关。可以手动启用,如下所示:
 
 ```sh
 etcd --enable-grpc-gateway --data-dir=/path/to/data
 ```
 
-注意该选项并没有展示在 `etcd --help` 的输出中。
+**注意**:当运行' etcd——help '时,这个标志不会显示。
 
-2. 使用配置文件时,该特性默认被关闭,请明确启用 `enable-grpc-gateway` 配置项。
+— 如果使用配置文件,默认关闭gRPC网关。您可以手动启用,如下所示:
+
+  In `etcd.json`:
 
 ```json
-# etcd.json
 {
     "enable-grpc-gateway": true,
     "data-dir": "/path/to/data"
 }
 ```
 
+  In `etcd.conf.yml`:
+
 ```yml
-# etcd.conf.yml
 enable-grpc-gateway: true
 ```
 
-事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。
+**注意**:事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。
 
-## 如何创建高可用的 Apache APISIX 集群?
+## 我应该如何创建高可用的 Apache APISIX 集群?
 
-APISIX 的高可用可分为两个部分:
+Apache APISIX可以通过在其前面添加一个负载均衡器来实现高可用性,因为APISIX的数据平面是无状态的,并且可以在需要时进行扩展。
 
-1、Apache APISIX 的数据平面是无状态的,可以进行随意的弹性伸缩,前面加一层 LB 即可。
+Apache APISIX 的控制平面是依赖于 `etcd cluster` 的高可用实现的,它只依赖于etcd集群。

Review Comment:
   ```suggestion
   Apache APISIX 的控制平面是依赖于 `etcd cluster` 的高可用实现的,它只依赖于 etcd 集群。
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -257,72 +274,72 @@ Apache APISIX 的插件支持热加载。
          - 9445
    ```
 
-2.重启抑或 reload APISIX
+2.重启抑或 reload APISIX。
 
 ## APISIX 利用 etcd 如何实现毫秒级别的配置同步
 
-etcd 提供订阅接口用于监听指定关键字、目录是否发生变更(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。
+Apache APISIX使用etcd作为它的配置中心。Etcd提供以下订阅功能(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。它可以监视对特定关键字或目录的更改。
 
 APISIX 主要使用 [etcd.watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir) 监视目录内容变更:
 
-* 如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
-* 如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
+如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
 
-借助 etcd 增量通知毫秒级特性,APISIX 也就完成了毫秒级的配置同步。
+如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
 
-## 如何自定义 APISIX 实例 id
+## 我应该如何自定义 APISIX 实例 id
 
-默认情况下,APISIX 会从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
+默认情况下,APISIX 从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
 
-如果你想指定一个有意义的 id 来绑定 APISIX 实例到你的内部系统,你可以在 `conf/config.yaml` 中进行配置,示例:
+要指定一个有意义的id来绑定Apache APISIX到您的内部系统,请在您的“conf/config”中设置“id”。yaml的文件:
 
-    ```
-    apisix:
-      id: "your-meaningful-id"
-    ```
+```yaml
+apisix:
+  id: "your-id"
+```
 
-## 为什么 `error.log` 中会有许多诸如 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
+## 为什么 `error.log` 中会出现 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
 
-首先请确保 APISIX 和 etcd 之间不存在网络分区的情况。
+请按照以下步骤进行故障排除:
 
-如果网络的确是健康的,请检查你的 etcd 集群是否启用了 [gRPC gateway](https://etcd.io/docs/v3.4/dev-guide/api_grpc_gateway/) 特性。然而,当你使用命令行参数或配置文件启动 etcd 时,此特性的默认启用情况又是不同的。
+1. 确保Apache APISIX和集群中的etcd部署之间没有任何网络问题。
+2. 如果网络正常,请检查是否为etcd启用了[gRPC gateway](https://etcd.io/docs/v3.4.0/dev-guide/api_grpc_gateway/)。默认状态取决于您是使用命令行选项还是配置文件来启动etcd服务器。
 
-1. 当使用命令行参数启动 etcd,该特性默认被启用,相关选项是 `enable-grpc-gateway`。
+— 如果使用命令行选项,默认启用gRPC网关。可以手动启用,如下所示:
 
 ```sh
 etcd --enable-grpc-gateway --data-dir=/path/to/data
 ```
 
-注意该选项并没有展示在 `etcd --help` 的输出中。
+**注意**:当运行' etcd——help '时,这个标志不会显示。

Review Comment:
   ```suggestion
   **注意**:当运行 `etcd——help` 时,这个标志不会显示。
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -257,72 +274,72 @@ Apache APISIX 的插件支持热加载。
          - 9445
    ```
 
-2.重启抑或 reload APISIX
+2.重启抑或 reload APISIX。
 
 ## APISIX 利用 etcd 如何实现毫秒级别的配置同步
 
-etcd 提供订阅接口用于监听指定关键字、目录是否发生变更(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。
+Apache APISIX使用etcd作为它的配置中心。Etcd提供以下订阅功能(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。它可以监视对特定关键字或目录的更改。
 
 APISIX 主要使用 [etcd.watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir) 监视目录内容变更:
 
-* 如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
-* 如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
+如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
 
-借助 etcd 增量通知毫秒级特性,APISIX 也就完成了毫秒级的配置同步。
+如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
 
-## 如何自定义 APISIX 实例 id
+## 我应该如何自定义 APISIX 实例 id
 
-默认情况下,APISIX 会从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
+默认情况下,APISIX 从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
 
-如果你想指定一个有意义的 id 来绑定 APISIX 实例到你的内部系统,你可以在 `conf/config.yaml` 中进行配置,示例:
+要指定一个有意义的id来绑定Apache APISIX到您的内部系统,请在您的“conf/config”中设置“id”。yaml的文件:
 
-    ```
-    apisix:
-      id: "your-meaningful-id"
-    ```
+```yaml
+apisix:
+  id: "your-id"
+```
 
-## 为什么 `error.log` 中会有许多诸如 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
+## 为什么 `error.log` 中会出现 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
 
-首先请确保 APISIX 和 etcd 之间不存在网络分区的情况。
+请按照以下步骤进行故障排除:
 
-如果网络的确是健康的,请检查你的 etcd 集群是否启用了 [gRPC gateway](https://etcd.io/docs/v3.4/dev-guide/api_grpc_gateway/) 特性。然而,当你使用命令行参数或配置文件启动 etcd 时,此特性的默认启用情况又是不同的。
+1. 确保Apache APISIX和集群中的etcd部署之间没有任何网络问题。
+2. 如果网络正常,请检查是否为etcd启用了[gRPC gateway](https://etcd.io/docs/v3.4.0/dev-guide/api_grpc_gateway/)。默认状态取决于您是使用命令行选项还是配置文件来启动etcd服务器。
 
-1. 当使用命令行参数启动 etcd,该特性默认被启用,相关选项是 `enable-grpc-gateway`。
+— 如果使用命令行选项,默认启用gRPC网关。可以手动启用,如下所示:
 
 ```sh
 etcd --enable-grpc-gateway --data-dir=/path/to/data
 ```
 
-注意该选项并没有展示在 `etcd --help` 的输出中。
+**注意**:当运行' etcd——help '时,这个标志不会显示。
 
-2. 使用配置文件时,该特性默认被关闭,请明确启用 `enable-grpc-gateway` 配置项。
+— 如果使用配置文件,默认关闭gRPC网关。您可以手动启用,如下所示:
+
+  In `etcd.json`:
 
 ```json
-# etcd.json
 {
     "enable-grpc-gateway": true,
     "data-dir": "/path/to/data"
 }
 ```
 
+  In `etcd.conf.yml`:
+
 ```yml
-# etcd.conf.yml
 enable-grpc-gateway: true
 ```
 
-事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。
+**注意**:事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。
 
-## 如何创建高可用的 Apache APISIX 集群?
+## 我应该如何创建高可用的 Apache APISIX 集群?
 
-APISIX 的高可用可分为两个部分:
+Apache APISIX可以通过在其前面添加一个负载均衡器来实现高可用性,因为APISIX的数据平面是无状态的,并且可以在需要时进行扩展。
 
-1、Apache APISIX 的数据平面是无状态的,可以进行随意的弹性伸缩,前面加一层 LB 即可。
+Apache APISIX 的控制平面是依赖于 `etcd cluster` 的高可用实现的,它只依赖于etcd集群。
 
-2、Apache APISIX 的控制平面是依赖于 `etcd cluster` 的高可用实现的,不需要任何关系型数据库的依赖。
+## 安装Apache APISIX时,为什么make deps命令失败?
 
-## 为什么源码安装中执行 `make deps` 命令失败?
-
-1、当执行 `make deps` 命令时,发生诸如下面所示的错误。这是由于缺少 OpenResty  的 `openssl` 开发软件包导致的,你需要先安装它。请参考 [install dependencies](install-dependencies.md) 文档进行安装。
+当执行' make deps '从源代码安装Apache APISIX时,你可能会出现如下错误:

Review Comment:
   ```suggestion
   当执行 `make deps` 从源代码安装 Apache APISIX 时,你可能会出现如下错误:
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -257,72 +274,72 @@ Apache APISIX 的插件支持热加载。
          - 9445
    ```
 
-2.重启抑或 reload APISIX
+2.重启抑或 reload APISIX。
 
 ## APISIX 利用 etcd 如何实现毫秒级别的配置同步
 
-etcd 提供订阅接口用于监听指定关键字、目录是否发生变更(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。
+Apache APISIX使用etcd作为它的配置中心。Etcd提供以下订阅功能(比如: [watch](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watch)、[watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir))。它可以监视对特定关键字或目录的更改。
 
 APISIX 主要使用 [etcd.watchdir](https://github.com/api7/lua-resty-etcd/blob/master/api_v3.md#watchdir) 监视目录内容变更:
 
-* 如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
-* 如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
+如果监听目录没有数据更新:该调用会被阻塞,直到超时或其他错误返回。
 
-借助 etcd 增量通知毫秒级特性,APISIX 也就完成了毫秒级的配置同步。
+如果监听目录有数据更新:etcd 将立刻返回订阅(毫秒级)到的新数据,APISIX 将它更新到内存缓存。
 
-## 如何自定义 APISIX 实例 id
+## 我应该如何自定义 APISIX 实例 id
 
-默认情况下,APISIX 会从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
+默认情况下,APISIX 从 `conf/apisix.uid` 中读取实例 id。如果找不到,且没有配置 id,APISIX 会生成一个 `uuid` 作为实例 id。
 
-如果你想指定一个有意义的 id 来绑定 APISIX 实例到你的内部系统,你可以在 `conf/config.yaml` 中进行配置,示例:
+要指定一个有意义的id来绑定Apache APISIX到您的内部系统,请在您的“conf/config”中设置“id”。yaml的文件:
 
-    ```
-    apisix:
-      id: "your-meaningful-id"
-    ```
+```yaml
+apisix:
+  id: "your-id"
+```
 
-## 为什么 `error.log` 中会有许多诸如 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
+## 为什么 `error.log` 中会出现 "failed to fetch data from etcd, failed to read etcd dir, etcd key: xxxxxx" 的错误?
 
-首先请确保 APISIX 和 etcd 之间不存在网络分区的情况。
+请按照以下步骤进行故障排除:
 
-如果网络的确是健康的,请检查你的 etcd 集群是否启用了 [gRPC gateway](https://etcd.io/docs/v3.4/dev-guide/api_grpc_gateway/) 特性。然而,当你使用命令行参数或配置文件启动 etcd 时,此特性的默认启用情况又是不同的。
+1. 确保Apache APISIX和集群中的etcd部署之间没有任何网络问题。
+2. 如果网络正常,请检查是否为etcd启用了[gRPC gateway](https://etcd.io/docs/v3.4.0/dev-guide/api_grpc_gateway/)。默认状态取决于您是使用命令行选项还是配置文件来启动etcd服务器。
 
-1. 当使用命令行参数启动 etcd,该特性默认被启用,相关选项是 `enable-grpc-gateway`。
+— 如果使用命令行选项,默认启用gRPC网关。可以手动启用,如下所示:
 
 ```sh
 etcd --enable-grpc-gateway --data-dir=/path/to/data
 ```
 
-注意该选项并没有展示在 `etcd --help` 的输出中。
+**注意**:当运行' etcd——help '时,这个标志不会显示。
 
-2. 使用配置文件时,该特性默认被关闭,请明确启用 `enable-grpc-gateway` 配置项。
+— 如果使用配置文件,默认关闭gRPC网关。您可以手动启用,如下所示:
+
+  In `etcd.json`:
 
 ```json
-# etcd.json
 {
     "enable-grpc-gateway": true,
     "data-dir": "/path/to/data"
 }
 ```
 
+  In `etcd.conf.yml`:
+
 ```yml
-# etcd.conf.yml
 enable-grpc-gateway: true
 ```
 
-事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。
+**注意**:事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。

Review Comment:
   ```suggestion
   **注意**:事实上这种差别已经在 etcd 的 master 分支中消除,但并没有向后移植到已经发布的版本中,所以在部署 etcd 集群时,依然需要小心。
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -367,9 +384,11 @@ curl -i http://127.0.0.1:9180/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f03433
 }'
 ```
 
-## route 的 `uri` 如何进行正则匹配
+**注意**:Apache APISIX Dashboard 正在监听' 127.0.0.1:9000 '。
 
-这里通过 route 的 `vars` 字段来实现 uri 的正则匹配。
+## 如何在一个路由使用正则表达式(regex)匹配' uri '?

Review Comment:
   ```suggestion
   ## 如何在一个路由使用正则表达式(regex)匹配 `uri`?
   ```



##########
docs/zh/latest/FAQ.md:
##########
@@ -401,11 +420,11 @@ HTTP/1.1 404 Not Found
 ...
 ```
 
-在 route 中,我们可以通过 `uri` 结合 `vars` 字段来实现更多的条件匹配,`vars` 的更多使用细节请参考 [lua-resty-expr](https://github.com/api7/lua-resty-expr)。
+`vars` 的更多使用细节请参考 [lua-resty-expr](https://github.com/api7/lua-resty-expr)。
 
 ## upstream 节点是否支持配置 [FQDN](https://en.wikipedia.org/wiki/Fully_qualified_domain_name) 地址?
 
-这是支持的,下面是一个 `FQDN` 为 `httpbin.default.svc.cluster.local`(一个 Kubernetes Service)的示例:
+是的。下面的例子展示了如何配置一个 `FQDN` 为 `httpbin.default.svc.cluster.local`(一个 Kubernetes Service)的示例:

Review Comment:
   ```suggestion
   这是支持的,下面是一个 `FQDN` 为 `httpbin.default.svc.cluster.local`(一个 Kubernetes Service)的示例:
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org