diff --git a/README.md b/README.md index bc4156d1..00e7bde6 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,7 @@ A/B testing, canary release, blue-green deployment, limit rate, defense against - Version Control: Supports rollbacks of operations. - CLI: start\stop\reload APISIX through the command line. - [Stand-docs/en/latest/stand-alone.md): Supports to load route rules from local yaml file, it is more friendly such as under the kubernetes(k8s). - - [Global Rule](docs/en/latest/architecture-design.md#global-rule): Allows to run any plugin for all request, eg: limit rate, IP filter etc. + - [Global Rule](docs/en/latest/architecture-design/global-rule.md): Allows to run any plugin for all request, eg: limit rate, IP filter etc. - High performance: The single-core QPS reaches 18k with an average delay of less than 0.2 milliseconds. - [Fault Injection](docs/en/latest/plugins/fault-injection.md) - [REST Admin API](docs/en/latest/admin-api.md): Using the REST Admin API to control Apache APISIX, which only allows 127.0.0.1 access by default, you can modify the `allow_admin` field in `conf/config.yaml` to specify a list of IPs that are allowed to call the Admin API. Also note that the Admin API uses key auth to verify the identity of the caller. **The `admin_key` field in `conf/config.yaml` needs to be modified before deployment to ensure security**. diff --git a/docs/en/latest/admin-api.md b/docs/en/latest/admin-api.md index 310aea7f..347bb7a7 100644 --- a/docs/en/latest/admin-api.md +++ b/docs/en/latest/admin-api.md @@ -65,7 +65,7 @@ Note: When the `Admin API` is enabled, it will occupy the API prefixed with `/ap |---------|---------|----|-----------|----| |name |False |Auxiliary |Identifies route names.|customer-xxxx| |desc |False |Auxiliary |route description, usage scenarios, and more.|customer xxxx| -|uri |True, can't be used with `uris` |Match Rules|In addition to full matching such as `/foo/bar`、`/foo/gloo`, using different [Router](architecture-design.md#router) allows more advanced matching, see [Router](architecture-design.md#router) for more.|"/hello"| +|uri |True, can't be used with `uris` |Match Rules|In addition to full matching such as `/foo/bar`、`/foo/gloo`, using different [Router](architecture-design/router.md) allows more advanced matching, see [Router](architecture-design/router.md) for more.|"/hello"| |uris |True, can't be used with `uri`|Match Rules|The `uri` in the form of a non-empty list means that multiple different uris are allowed, and match any one of them.|["/hello", "/word"]| |host |False, can't be used with `hosts` |Match Rules|Currently requesting a domain name, such as `foo.com`; PAN domain names such as `*.foo.com` are also supported.|"foo.com"| |hosts |False, can't be used with `host` |Match Rules|The `host` in the form of a non-empty list means that multiple different hosts are allowed, and match any one of them.|{"foo.com", "*.bar.com"}| @@ -75,12 +75,12 @@ Note: When the `Admin API` is enabled, it will occupy the API prefixed with `/ap |priority |False |Match Rules|If different routes contain the same `uri`, determine which route is matched first based on the attribute `priority`. Larger value means higher priority. The default value is 0.|priority = 10| |vars |False |Match Rules |A list of one or more `{var, operator, val}` elements, like this: `{{var, operator, val}, {var, operator, val}, ...}}`. For example: `{"arg_name", "==", "json"}` means that the current request parameter `name` is `json`. The `var` here is consistent with the internal variable name of Nginx, so you can also use `request_uri`, `host`, etc. For more details, see [lua-resty-expr](https://github.com/api7/lua-resty-expr) |{{"arg_name", "==", "json"}, {"arg_age", ">", 18}}| |filter_func|False|Match Rules|User-defined filtering function. You can use it to achieve matching requirements for special scenarios. This function accepts an input parameter named `vars` by default, which you can use to get Nginx variables.|function(vars) return vars["arg_name"] == "json" end| -|plugins |False |Plugin|See [Plugin](architecture-design.md#plugin) for more || -|script |False |Script|See [Script](architecture-design.md#script) for more || -|upstream |False |Upstream|Enabled Upstream configuration, see [Upstream](architecture-design.md#upstream) for more|| -|upstream_id|False |Upstream|Enabled upstream id, see [Upstream](architecture-design.md#upstream) for more || -|service_id|False |Service|Binded Service configuration, see [Service](architecture-design.md#service) for more || -|plugin_config_id|False, can't be used with `script` |Plugin|Binded plugin config object, see [Plugin Config](architecture-design.md#plugin-config) for more || +|plugins |False |Plugin|See [Plugin](architecture-design/plugin.md) for more || +|script |False |Script|See [Script](architecture-design/script.md) for more || +|upstream |False |Upstream|Enabled Upstream configuration, see [Upstream](architecture-design/upstream.md) for more|| +|upstream_id|False |Upstream|Enabled upstream id, see [Upstream](architecture-design/upstream.md) for more || +|service_id|False |Service|Binded Service configuration, see [Service](architecture-design/service.md) for more || +|plugin_config_id|False, can't be used with `script` |Plugin|Binded plugin config object, see [Plugin Config](architecture-design/plugin-config.md) for more || |labels |False |Match Rules|Key/value pairs to specify attributes|{"version":"v2","build":"16","env":"production"}| |enable_websocket|False|Auxiliary| enable `websocket`(boolean), default `false`.|| |status |False|Auxiliary| enable this route, default `1`.|`1` to enable, `0` to disable| @@ -297,9 +297,9 @@ Return response from etcd currently. |Parameter |Required |Type |Description |Example| |---------|---------|----|-----------|----| -|plugins |False |Plugin|See [Plugin](architecture-design.md#plugin) for more || -|upstream |False |Upstream|Enabled Upstream configuration, see [Upstream](architecture-design.md#upstream) for more|| -|upstream_id|False |Upstream|Enabled upstream id, see [Upstream](architecture-design.md#upstream) for more || +|plugins |False |Plugin|See [Plugin](architecture-design/plugin.md) for more || +|upstream |False |Upstream|Enabled Upstream configuration, see [Upstream](architecture-design/upstream.md) for more|| +|upstream_id|False |Upstream|Enabled upstream id, see [Upstream](architecture-design/upstream.md) for more || |name |False |Auxiliary |Identifies service names.|customer-xxxx| |desc |False |Auxiliary |service usage scenarios, and more.|customer xxxx| |labels |False |Match Rules|Key/value pairs to specify attributes|{"version":"v2","build":"16","env":"production"}| @@ -444,7 +444,7 @@ Return response from etcd currently. |Parameter |Required |Type |Description |Example| |---------|---------|----|-----------|----| |username|True|Name|Consumer name|| -|plugins |False |Plugin|See [Plugin](architecture-design.md#plugin) for more || +|plugins |False |Plugin|See [Plugin](architecture-design/plugin.md) for more || |desc |False |Auxiliary |Identifies route names, usage scenarios, and more.|customer xxxx| |labels |False |Match Rules|Key/value pairs to specify attributes|{"version":"v2","build":"16","env":"production"}| |create_time|False| Auxiliary|epoch timestamp in second, will be created automatically if missing | 1602883670| @@ -761,7 +761,7 @@ Config Example: |Parameter|Required|Description|Example| |---------|---------|-----------|----| -|plugins |True |See [Plugin](architecture-design.md#plugin)|| +|plugins |True |See [Plugin](architecture-design/plugin.md)|| |create_time|False|epoch timestamp in second, will be created automatically if missing | 1602883670| |update_time|False|epoch timestamp in second, will be created automatically if missing | 1602883670| @@ -786,7 +786,7 @@ Config Example: |Parameter|Required|Description|Example| |---------|---------|-----------|----| -|plugins |True |See [Plugin](architecture-design.md#plugin)|| +|plugins |True |See [Plugin](architecture-design/plugin.md)|| |desc |False|description, usage scenarios, and more.|customer xxxx| |labels |False|Key/value pairs to specify attributes|{"version":"v2","build":"16","env":"production"}| |create_time|False|epoch timestamp in second, will be created automatically if missing | 1602883670| diff --git a/docs/es/latest/README.md b/docs/es/latest/README.md index 8bcd9255..fdd1e82f 100644 --- a/docs/es/latest/README.md +++ b/docs/es/latest/README.md @@ -127,7 +127,7 @@ ensayos A/B, ensayos de despliegue de canarios (canary release), despliegue azul - Control de versión: Soporta retroceso o deshacer de operaciones. - CLI: comenzar\detenerse\recargar APISIX usando la línea de comando. - [Modo stand-alone (por su cuenta)](stand-alone.md): Soporta cargar reglas de ruta desde un archivo local yaml, siendo más amigable que kubernetes(k8s). - - [Regla global](architecture-design.md#global-rule): Permite ejecutar cualquier plugin para todas las solicitudes, como: limit rate, IP filter etc. + - [Regla global](architecture-design/global-rule.md): Permite ejecutar cualquier plugin para todas las solicitudes, como: limit rate, IP filter etc. - Alto desempeño: El QPS de un sólo núcleo alcanza 18k con un retraso promedio de menos de 0.2 milisegundos. - [Fault Injection](plugins/fault-injection.md) - [REST Admin API](admin-api.md): Al usar REST Admin API para controlar Apache APISIX, el cual solamente permite acceso 127.0.0.1 por defecto, usted puede modificar el campo `allow_admin` en `conf/config.yaml` para especificar una lista de IPs a los que se les permite llamar el Admin API. Nótese también que el Admin API utiliza autentificación de clave (key auth) para verificar la identidad de quien llama. **El campo `admin_key` en `conf/config.yaml` debe ser modificado antes del despliegue para asegurar la seguridad**. diff --git a/docs/zh/latest/README.md b/docs/zh/latest/README.md index bdb31f03..73445c79 100644 --- a/docs/zh/latest/README.md +++ b/docs/zh/latest/README.md @@ -125,7 +125,7 @@ A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、限流限速、抵 - 版本控制:支持操作的多次回滚。 - CLI: 使用命令行来启动、关闭和重启 APISIX。 - [单机模式](stand-alone.md): 支持从本地配置文件中加载路由规则,在 kubernetes(k8s) 等环境下更友好。 - - [全局规则](architecture-design.md#global-rule):允许对所有请求执行插件,比如黑白名单、限流限速等。 + - [全局规则](architecture-design/global-rule.md):允许对所有请求执行插件,比如黑白名单、限流限速等。 - 高性能:在单核上 QPS 可以达到 18k,同时延迟只有 0.2 毫秒。 - [故障注入](plugins/fault-injection.md) - [REST Admin API](admin-api.md): 使用 REST Admin API 来控制 Apache APISIX,默认只允许 127.0.0.1 访问,你可以修改 `conf/config.yaml` 中的 `allow_admin` 字段,指定允许调用 Admin API 的 IP 列表。同时需要注意的是,Admin API 使用 key auth 来校验调用者身份,**在部署前需要修改 `conf/config.yaml` 中的 `admin_key` 字段,来保证安全。** diff --git a/docs/zh/latest/admin-api.md b/docs/zh/latest/admin-api.md index 2ccc088e..16df7219 100644 --- a/docs/zh/latest/admin-api.md +++ b/docs/zh/latest/admin-api.md @@ -65,14 +65,14 @@ title: Admin API | 名字 | 可选项 | 类型 | 说明 | 示例 | | ---------------- | ----------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | -| uri | 与 `uris` 二选一 | 匹配规则 | 除了如 `/foo/bar`、`/foo/gloo` 这种全量匹配外,使用不同 [Router](architecture-design.md#router) 还允许更高级匹配,更多见 [Router](architecture-design.md#router)。 | "/hello" | +| uri | 与 `uris` 二选一 | 匹配规则 | 除了如 `/foo/bar`、`/foo/gloo` 这种全量匹配外,使用不同 [Router](architecture-design/router.md) 还允许更高级匹配,更多见 [Router](architecture-design/router.md)。 | "/hello" | | uris | 与 `uri` 二选一 | 匹配规则 | 非空数组形式,可以匹配多个 `uri` | ["/hello", "/world"] | -| plugins | `plugins`、`script`、`upstream`/`upstream_id`、`service_id`至少选择一个 | Plugin | 详见 [Plugin](architecture-design.md#plugin) | | -| script | `plugins`、`script`、`upstream`/`upstream_id`、`service_id`至少选择一个 | Script | 详见 [Script](architecture-design.md#script) | | -| upstream | `plugins`、`script`、`upstream`/`upstream_id`、`service_id`至少选择一个 | Upstream | 启用的 Upstream 配置,详见 [Upstream](architecture-design.md#upstream) | | -| upstream_id | `plugins`、`script`、`upstream`/`upstream_id`、`service_id`至少选择一个 | Upstream | 启用的 upstream id,详见 [Upstream](architecture-design.md#upstream) | | -| service_id | `plugins`、`script`、`upstream`/`upstream_id`、`service_id`至少选择一个 | Service | 绑定的 Service 配置,详见 [Service](architecture-design.md#service) | | -| plugin_config_id | 可选,无法跟 script 一起配置 | Plugin | 绑定的 Plugin config 配置,详见 [Plugin config](architecture-design.md#plugin-config) | | +| plugins | `plugins`、`script`、`upstream`/`upstream_id`、`service_id`至少选择一个 | Plugin | 详见 [Plugin](architecture-design/plugin.md) | | +| script | `plugins`、`script`、`upstream`/`upstream_id`、`service_id`至少选择一个 | Script | 详见 [Script](architecture-design/script.md) | | +| upstream | `plugins`、`script`、`upstream`/`upstream_id`、`service_id`至少选择一个 | Upstream | 启用的 Upstream 配置,详见 [Upstream](architecture-design/upstream.md) | | +| upstream_id | `plugins`、`script`、`upstream`/`upstream_id`、`service_id`至少选择一个 | Upstream | 启用的 upstream id,详见 [Upstream](architecture-design/upstream.md) | | +| service_id | `plugins`、`script`、`upstream`/`upstream_id`、`service_id`至少选择一个 | Service | 绑定的 Service 配置,详见 [Service](architecture-design/service.md) | | +| plugin_config_id | 可选,无法跟 script 一起配置 | Plugin | 绑定的 Plugin config 配置,详见 [Plugin config](architecture-design/plugin-config.md) | | | name | 可选 | 辅助 | 标识路由名称 | route-xxxx | | desc | 可选 | 辅助 | 标识描述、使用场景等。 | 客户 xxxx | | host | 可选 | 匹配规则 | 当前请求域名,比如 `foo.com`;也支持泛域名,比如 `*.foo.com`。 | "foo.com" | @@ -303,9 +303,9 @@ HTTP/1.1 200 OK | 名字 | 可选项 | 类型 | 说明 | 示例 | | ---------------- | ---------------------------------- | -------- | ---------------------------------------------------------------------- | ------------------------------------------------ | -| plugins | 可选 | Plugin | 详见 [Plugin](architecture-design.md#plugin) | | -| upstream | upstream 或 upstream_id 两个选一个 | Upstream | 启用的 Upstream 配置,详见 [Upstream](architecture-design.md#upstream) | | -| upstream_id | upstream 或 upstream_id 两个选一个 | Upstream | 启用的 upstream id,详见 [Upstream](architecture-design.md#upstream) | | +| plugins | 可选 | Plugin | 详见 [Plugin](architecture-design/plugin.md) | | +| upstream | upstream 或 upstream_id 两个选一个 | Upstream | 启用的 Upstream 配置,详见 [Upstream](architecture-design/upstream.md) | | +| upstream_id | upstream 或 upstream_id 两个选一个 | Upstream | 启用的 upstream id,详见 [Upstream](architecture-design/upstream.md) | | | name | 可选 | 辅助 | 标识服务名称。 | | | desc | 可选 | 辅助 | 服务描述、使用场景等。 | | | labels | 可选 | 匹配规则 | 标识附加属性的键值对 | {"version":"v2","build":"16","env":"production"} | @@ -770,7 +770,7 @@ ssl 对象 json 配置内容: | 名字 | 可选项 | 类型 | 说明 | 示例 | | ----------- | ------ | ------ | --------------------------------------------- | ---------- | -| plugins | 必需 | Plugin | 详见 [Plugin](architecture-design.md#plugin) | | +| plugins | 必需 | Plugin | 详见 [Plugin](architecture-design/plugin.md) | | | create_time | 可选 | 辅助 | 单位为秒的 epoch 时间戳,如果不指定则自动创建 | 1602883670 | | update_time | 可选 | 辅助 | 单位为秒的 epoch 时间戳,如果不指定则自动创建 | 1602883670 | @@ -797,7 +797,7 @@ ssl 对象 json 配置内容: |名字 |可选项 |类型 |说明 |示例| |---------|---------|----|-----------|----| -|plugins |必需|Plugin|详见 [Plugin](architecture-design.md#plugin) || +|plugins |必需|Plugin|详见 [Plugin](architecture-design/plugin.md) || |desc |可选|辅助|标识描述、使用场景等|customer xxxx| |labels |可选|辅助|标识附加属性的键值对|{"version":"v2","build":"16","env":"production"}| |create_time|可选|辅助|单位为秒的 epoch 时间戳,如果不指定则自动创建|1602883670|