mirror of
https://gitee.com/iresty/apisix.git
synced 2024-12-02 03:58:02 +08:00
docs: fix error link (#6989)
This commit is contained in:
parent
00cc4386ee
commit
2b7bcf0034
@ -81,7 +81,7 @@ A/B testing, canary release, blue-green deployment, limit rate, defense against
|
||||
|
||||
- **Full Dynamic**
|
||||
|
||||
- [Hot Updates And Hot Plugins](docs/en/latest/architecture-design/plugin.md): Continuously updates its configurations and plugins without restarts!
|
||||
- [Hot Updates And Hot Plugins](docs/en/latest/terminology/plugin.md): Continuously updates its configurations and plugins without restarts!
|
||||
- [Proxy Rewrite](docs/en/latest/plugins/proxy-rewrite.md): Support rewrite the `host`, `uri`, `schema`, `enable_websocket`, `headers` of the request before send to upstream.
|
||||
- [Response Rewrite](docs/en/latest/plugins/response-rewrite.md): Set customized response status code, body and header to the client.
|
||||
- Dynamic Load Balancing: Round-robin load balancing with weight.
|
||||
@ -137,7 +137,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-Alone](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/global-rule.md): Allows to run any plugin for all request, eg: limit rate, IP filter etc.
|
||||
- [Global Rule](docs/en/latest/terminology/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 fewer 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**.
|
||||
|
@ -111,7 +111,7 @@ Let's take an example query `foo.com/product/index.html?id=204&page=2` and consi
|
||||
|
||||
There are two different ways to achieve this in Apache APISIX:
|
||||
|
||||
1. Using the `vars` field in a [Route](architecture-design/route.md):
|
||||
1. Using the `vars` field in a [Route](terminology/route.md):
|
||||
|
||||
```shell
|
||||
curl -i http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
|
||||
|
@ -31,7 +31,7 @@ By default, the Admin API listens to port `9080` (`9443` for HTTPS) when APISIX
|
||||
|
||||
**API**: /apisix/admin/routes/{id}?ttl=0
|
||||
|
||||
[Routes](./architecture-design/route.md) match the client's request based on defined rules, loads and executes the corresponding [plugins](#plugin), and forwards the request to the specified [Upstream](#upstream).
|
||||
[Routes](./terminology/route.md) match the client's request based on defined rules, loads and executes the corresponding [plugins](#plugin), and forwards the request to the specified [Upstream](#upstream).
|
||||
|
||||
**Note**: When the Admin API is enabled, to avoid conflicts with your design API, use a different port for the Admin API. This can be set in your configuration file by changing the `port_admin` key.
|
||||
|
||||
@ -59,7 +59,7 @@ By default, the Admin API listens to port `9080` (`9443` for HTTPS) when APISIX
|
||||
| ---------------- | ---------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
|
||||
| name | False | Auxiliary | Identifier for the Route. | route-xxxx |
|
||||
| desc | False | Auxiliary | Description of usage scenarios. | route xxxx |
|
||||
| uri | True, can't be used with `uris` | Match Rules | Matches the uri. For more advanced matching see [Router](./architecture-design/router.md). | "/hello" |
|
||||
| uri | True, can't be used with `uris` | Match Rules | Matches the uri. For more advanced matching see [Router](./terminology/router.md). | "/hello" |
|
||||
| uris | True, can't be used with `uri` | Match Rules | Matches with any one of the multiple `uri`s specified in the form of a non-empty list. | ["/hello", "/word"] |
|
||||
| host | False, can't be used with `hosts` | Match Rules | Matches with domain names such as `foo.com` or PAN domain names like `*.foo.com`. | "foo.com" |
|
||||
| hosts | False, can't be used with `host` | Match Rules | Matches with any one of the multiple `host`s specified in the form of a non-empty list. | ["foo.com", "*.bar.com"] |
|
||||
@ -69,12 +69,12 @@ By default, the Admin API listens to port `9080` (`9443` for HTTPS) when APISIX
|
||||
| priority | False | Match Rules | If different Routes matches to the same `uri`, then the Route is matched based on its `priority`. A higher value corresponds to higher priority. It is set to `0` by default. | priority = 10 |
|
||||
| vars | False | Match Rules | Matches based on the specified variables consistent with variables in Nginx. Takes the form `[[var, operator, val], [var, operator, val], ...]]`. Note that this is case sensitive when matching a cookie name. See [lua-resty-expr](https://github.com/api7/lua-resty-expr) for more details. | [["arg_name", "==", "json"], ["arg_age", ">", 18]] |
|
||||
| filter_func | False | Match Rules | Matches based on a user-defined filtering function. Used in scenarios requiring complex matching. These functions can accept an input parameter `vars` which can be used to access the Nginx variables. | function(vars) return vars["arg_name"] == "json" end |
|
||||
| plugins | False | Plugin | Plugins that are executed during the request/response cycle. See [Plugin](architecture-design/plugin.md) for more. | |
|
||||
| script | False | Script | Used for writing arbitrary Lua code or directly calling existing plugins to be executed. See [Script](architecture-design/script.md) for more. | |
|
||||
| upstream | False | Upstream | Configuration of the [Upstream](./architecture-design/upstream.md). | |
|
||||
| upstream_id | False | Upstream | Id of the [Upstream](architecture-design/upstream.md) service. | |
|
||||
| service_id | False | Service | Configuration of the bound [Service](architecture-design/service.md). | |
|
||||
| plugin_config_id | False, can't be used with `script` | Plugin | [Plugin config](architecture-design/plugin-config.md) bound to the Route. | |
|
||||
| plugins | False | Plugin | Plugins that are executed during the request/response cycle. See [Plugin](terminology/plugin.md) for more. | |
|
||||
| script | False | Script | Used for writing arbitrary Lua code or directly calling existing plugins to be executed. See [Script](terminology/script.md) for more. | |
|
||||
| upstream | False | Upstream | Configuration of the [Upstream](./terminology/upstream.md). | |
|
||||
| upstream_id | False | Upstream | Id of the [Upstream](terminology/upstream.md) service. | |
|
||||
| service_id | False | Service | Configuration of the bound [Service](terminology/service.md). | |
|
||||
| plugin_config_id | False, can't be used with `script` | Plugin | [Plugin config](terminology/plugin-config.md) bound to the Route. | |
|
||||
| labels | False | Match Rules | Attributes of the Route specified as key-value pairs. | {"version":"v2","build":"16","env":"production"} |
|
||||
| timeout | False | Auxiliary | Sets the timeout for connecting to, and sending and receiving messages between the Upstream and the Route. This will overwrite the `timeout` value configured in your [Upstream](#upstream). | {"connect": 3, "send": 3, "read": 3} |
|
||||
| enable_websocket | False | Auxiliary | Enables a websocket. Set to `false` by default. | |
|
||||
@ -297,9 +297,9 @@ The relationship between Routes and a Service is usually N:1.
|
||||
|
||||
| Parameter | Required | Type | Description | Example |
|
||||
| ---------------- | -------- | ----------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------ |
|
||||
| plugins | False | Plugin | Plugins that are executed during the request/response cycle. See [Plugin](architecture-design/plugin.md) for more. | |
|
||||
| upstream | False | Upstream | Configuration of the [Upstream](./architecture-design/upstream.md). | |
|
||||
| upstream_id | False | Upstream | Id of the [Upstream](architecture-design/upstream.md) service. | |
|
||||
| plugins | False | Plugin | Plugins that are executed during the request/response cycle. See [Plugin](terminology/plugin.md) for more. | |
|
||||
| upstream | False | Upstream | Configuration of the [Upstream](./terminology/upstream.md). | |
|
||||
| upstream_id | False | Upstream | Id of the [Upstream](terminology/upstream.md) service. | |
|
||||
| name | False | Auxiliary | Identifier for the Service. | service-xxxx |
|
||||
| desc | False | Auxiliary | Description of usage scenarios. | service xxxx |
|
||||
| labels | False | Match Rules | Attributes of the Service specified as key-value pairs. | {"version":"v2","build":"16","env":"production"} |
|
||||
@ -446,7 +446,7 @@ Consumers are users of services and can only be used in conjunction with a user
|
||||
| Parameter | Required | Type | Description | Example |
|
||||
| ----------- | -------- | ----------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------ |
|
||||
| username | True | Name | Name of the Consumer. | |
|
||||
| plugins | False | Plugin | Plugins that are executed during the request/response cycle. See [Plugin](architecture-design/plugin.md) for more. | |
|
||||
| plugins | False | Plugin | Plugins that are executed during the request/response cycle. See [Plugin](terminology/plugin.md) for more. | |
|
||||
| desc | False | Auxiliary | Description of usage scenarios. | customer xxxx |
|
||||
| labels | False | Match Rules | Attributes of the Consumer specified as key-value pairs. | {"version":"v2","build":"16","env":"production"} |
|
||||
| create_time | False | Auxiliary | Epoch timestamp (in seconds) of the created time. If missing, this field will be populated automatically. | 1602883670 |
|
||||
@ -825,7 +825,7 @@ Sets Plugins which run globally. i.e these Plugins will be run before any Route/
|
||||
|
||||
| Parameter | Required | Description | Example |
|
||||
| ----------- | -------- | ------------------------------------------------------------------------------------------------------------------ | ---------- |
|
||||
| plugins | True | Plugins that are executed during the request/response cycle. See [Plugin](architecture-design/plugin.md) for more. | |
|
||||
| plugins | True | Plugins that are executed during the request/response cycle. See [Plugin](terminology/plugin.md) for more. | |
|
||||
| create_time | False | Epoch timestamp (in seconds) of the created time. If missing, this field will be populated automatically. | 1602883670 |
|
||||
| update_time | False | Epoch timestamp (in seconds) of the updated time. If missing, this field will be populated automatically. | 1602883670 |
|
||||
|
||||
@ -850,7 +850,7 @@ Group of Plugins which can be reused across Routes.
|
||||
|
||||
| Parameter | Required | Description | Example |
|
||||
| ----------- | -------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------ |
|
||||
| plugins | True | Plugins that are executed during the request/response cycle. See [Plugin](architecture-design/plugin.md) for more. | |
|
||||
| plugins | True | Plugins that are executed during the request/response cycle. See [Plugin](terminology/plugin.md) for more. | |
|
||||
| desc | False | Description of usage scenarios. | customer xxxx |
|
||||
| labels | False | Attributes of the Plugin config specified as key-value pairs. | {"version":"v2","build":"16","env":"production"} |
|
||||
| create_time | False | Epoch timestamp (in seconds) of the created time. If missing, this field will be populated automatically. | 1602883670 |
|
||||
@ -954,8 +954,8 @@ Route used in the [Stream Proxy](./stream-proxy.md).
|
||||
|
||||
| Parameter | Required | Type | Description | Example |
|
||||
| ----------- | -------- | -------- | ------------------------------------------------------------------- | ----------------------------- |
|
||||
| upstream | False | Upstream | Configuration of the [Upstream](./architecture-design/upstream.md). | |
|
||||
| upstream_id | False | Upstream | Id of the [Upstream](architecture-design/upstream.md) service. | |
|
||||
| upstream | False | Upstream | Configuration of the [Upstream](./terminology/upstream.md). | |
|
||||
| upstream_id | False | Upstream | Id of the [Upstream](terminology/upstream.md) service. | |
|
||||
| remote_addr | False | IP/CIDR | Filters Upstream forwards by matching with client IP. | "127.0.0.1/32" or "127.0.0.1" |
|
||||
| server_addr | False | IP/CIDR | Filters Upstream forwards by matching with APISIX Server IP. | "127.0.0.1/32" or "127.0.0.1" |
|
||||
| server_port | False | Integer | Filters Upstream forwards by matching with APISIX Server port. | 9090 |
|
||||
|
@ -43,7 +43,7 @@ To enable parameter matching in plugin's control API, add `router: 'radixtree_ur
|
||||
|
||||
## Control API Added via Plugins
|
||||
|
||||
[Plugins](./architecture-design/plugin.md) can be enabled to add its control API.
|
||||
[Plugins](./terminology/plugin.md) can be enabled to add its control API.
|
||||
|
||||
Some Plugins have their own control APIs. See the documentation of the specific Plugin to learn more.
|
||||
|
||||
@ -210,7 +210,7 @@ Triggers a full garbage collection in the HTTP subsystem.
|
||||
|
||||
Introduced in [v3.0](https://github.com/apache/apisix/releases/tag/3.0).
|
||||
|
||||
Returns all configured [Routes](./architecture-design/route.md):
|
||||
Returns all configured [Routes](./terminology/route.md):
|
||||
|
||||
```json
|
||||
[
|
||||
|
@ -202,7 +202,7 @@ This response indicates that APISIX is running successfully:
|
||||
|
||||
From the previous step, we have a running instance of APISIX in Docker. Now let's create a Route.
|
||||
|
||||
APISIX provides a powerful [Admin API](./admin-api.md) and [APISIX Dashboard](https://github.com/apache/apisix-dashboard). Here, we will use the Admin API to create a Route and connect it to an [Upstream](./architecture-design/upstream.md) service. When a request arrives, APISIX will forward the request to the specified Upstream service.
|
||||
APISIX provides a powerful [Admin API](./admin-api.md) and [APISIX Dashboard](https://github.com/apache/apisix-dashboard). Here, we will use the Admin API to create a Route and connect it to an [Upstream](./terminology/upstream.md) service. When a request arrives, APISIX will forward the request to the specified Upstream service.
|
||||
|
||||
We will configure the Route so that APISIX can forward the request to the corresponding Upstream service:
|
||||
|
||||
|
@ -31,7 +31,7 @@ description: This document contains information about the Apache APISIX basic-au
|
||||
|
||||
The `basic-auth` Plugin is used to add [basic access authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) to a Route or a Service.
|
||||
|
||||
This works well with a [Consumer](../architecture-design/consumer.md). Consumers of the API can then add their key to the header to authenticate their requests.
|
||||
This works well with a [Consumer](../terminology/consumer.md). Consumers of the API can then add their key to the header to authenticate their requests.
|
||||
|
||||
## Attributes
|
||||
|
||||
|
@ -31,7 +31,7 @@ description: This document contains information about the Apache APISIX key-auth
|
||||
|
||||
The `key-auth` Plugin is used to add an authentication key (API key) to a Route or a Service.
|
||||
|
||||
This works well with a [Consumer](../architecture-design/consumer.md). Consumers of the API can then add their key to the query string or the header to authenticate their requests.
|
||||
This works well with a [Consumer](../terminology/consumer.md). Consumers of the API can then add their key to the query string or the header to authenticate their requests.
|
||||
|
||||
## Attributes
|
||||
|
||||
|
@ -29,7 +29,7 @@ This represents the configuration of the plugins that are executed during the HT
|
||||
|
||||
While configuring the same plugin, only one copy of the configuration is valid. The order of precedence is always `Consumer` > `Route` > `Service`.
|
||||
|
||||
While [configuring APISIX](./apisix.md#configuring-apisix), you can declare the Plugins that are supported by the local APISIX node. This acts as a whitelisting mechanism as Plugins that are not in this whitelist will be automatically ignored. So, this feature can be used to temporarily turn off/turn on specific plugins.
|
||||
While [configuring APISIX](./architecture-design/apisix.md#configuring-apisix), you can declare the Plugins that are supported by the local APISIX node. This acts as a whitelisting mechanism as Plugins that are not in this whitelist will be automatically ignored. So, this feature can be used to temporarily turn off/turn on specific plugins.
|
||||
|
||||
## Adding a Plugin
|
||||
|
||||
|
@ -83,7 +83,7 @@ A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、限流限速、
|
||||
|
||||
- **全动态能力**
|
||||
|
||||
- [热更新和热插件](architecture-design/plugin.md):无需重启服务,就可以持续更新配置和插件。
|
||||
- [热更新和热插件](terminology/plugin.md):无需重启服务,就可以持续更新配置和插件。
|
||||
- [代理请求重写](plugins/proxy-rewrite.md):支持重写请求上游的`host`、`uri`、`schema`、`enable_websocket`、`headers`信息。
|
||||
- [输出内容重写](plugins/response-rewrite.md):支持自定义修改返回内容的 `status code`、`body`、`headers`。
|
||||
- [Serverless](plugins/serverless.md):在 APISIX 的每一个阶段,你都可以添加并调用自己编写的函数。
|
||||
@ -139,7 +139,7 @@ A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、限流限速、
|
||||
- 版本控制:支持操作的多次回滚。
|
||||
- CLI:使用命令行来启动、关闭和重启 APISIX。
|
||||
- [单机模式](stand-alone.md):支持从本地配置文件中加载路由规则,在 kubernetes(k8s) 等环境下更友好。
|
||||
- [全局规则](architecture-design/global-rule.md):允许对所有请求执行插件,比如黑白名单、限流限速等。
|
||||
- [全局规则](terminology/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` 字段,来保证安全。**
|
||||
@ -182,7 +182,7 @@ A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、限流限速、
|
||||
4. 插件二次开发
|
||||
|
||||
可以参考[插件开发指南](plugin-develop.md),以及示例插件 `example-plugin` 的代码实现。
|
||||
阅读[插件概念](architecture-design/plugin.md) 会帮助你学到更多关于插件的知识。
|
||||
阅读[插件概念](terminology/plugin.md) 会帮助你学到更多关于插件的知识。
|
||||
|
||||
更多文档请参考 [Apache APISIX 文档站](https://apisix.apache.org/docs/apisix/getting-started/)。
|
||||
|
||||
|
@ -23,7 +23,7 @@ title: Admin API
|
||||
|
||||
## 描述
|
||||
|
||||
Admin API 是为 Apache APISIX 服务的一组 API,我们可以将参数传递给 Admin API 以控制 APISIX 节点。更好地了解其工作原理,请参阅 [architecture-design](./architecture-design/apisix.md) 中的文档。
|
||||
Admin API 是为 Apache APISIX 服务的一组 API,我们可以将参数传递给 Admin API 以控制 APISIX 节点。更好地了解其工作原理,请参阅 [Architecture Design](./architecture-design/apisix.md) 中的文档。
|
||||
|
||||
启动 Apache APISIX 时,默认情况下 Admin API 将监听 `9080` 端口(HTTPS 的 `9443` 端口)。您可以通过修改 [conf/config.yaml](https://github.com/apache/apisix/blob/master/conf/config.yaml) 文件来改变默认监听的端口。
|
||||
|
||||
@ -59,14 +59,14 @@ Admin API 是为 Apache APISIX 服务的一组 API,我们可以将参数传递
|
||||
|
||||
| 名字 | 可选项 | 类型 | 说明 | 示例 |
|
||||
| ---------------- | ---------------------------------- | -------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ---------------------------------------------------- |
|
||||
| uri | 必选,不能与 `uris` 一起使用 | 匹配规则 | 除了如 `/foo/bar`、`/foo/gloo` 这种全量匹配外,使用不同 [Router](architecture-design/router.md) 还允许更高级匹配,更多见 [Router](architecture-design/router.md)。 | "/hello" |
|
||||
| uri | 必选,不能与 `uris` 一起使用 | 匹配规则 | 除了如 `/foo/bar`、`/foo/gloo` 这种全量匹配外,使用不同 [Router](terminology/router.md) 还允许更高级匹配,更多见 [Router](terminology/router.md)。 | "/hello" |
|
||||
| uris | 必选,不能与 `uri` 一起使用 | 匹配规则 | 非空数组形式,可以匹配多个 `uri` | ["/hello", "/world"] |
|
||||
| plugins | 可选 | Plugin | 详见 [Plugin](architecture-design/plugin.md) | |
|
||||
| script | 可选 | Script | 详见 [Script](architecture-design/script.md) | |
|
||||
| upstream | 可选 | Upstream | 启用的 Upstream 配置,详见 [Upstream](architecture-design/upstream.md) | |
|
||||
| upstream_id | 可选 | Upstream | 启用的 upstream id,详见 [Upstream](architecture-design/upstream.md) | |
|
||||
| service_id | 可选 | Service | 绑定的 Service 配置,详见 [Service](architecture-design/service.md) | |
|
||||
| plugin_config_id | 可选,无法跟 script 一起配置 | Plugin | 绑定的 Plugin config 配置,详见 [Plugin config](architecture-design/plugin-config.md) | |
|
||||
| plugins | 可选 | Plugin | 详见 [Plugin](terminology/plugin.md) | |
|
||||
| script | 可选 | Script | 详见 [Script](terminology/script.md) | |
|
||||
| upstream | 可选 | Upstream | 启用的 Upstream 配置,详见 [Upstream](terminology/upstream.md) | |
|
||||
| upstream_id | 可选 | Upstream | 启用的 upstream id,详见 [Upstream](terminology/upstream.md) | |
|
||||
| service_id | 可选 | Service | 绑定的 Service 配置,详见 [Service](terminology/service.md) | |
|
||||
| plugin_config_id | 可选,无法跟 script 一起配置 | Plugin | 绑定的 Plugin config 配置,详见 [Plugin config](terminology/plugin-config.md) | |
|
||||
| name | 可选 | 辅助 | 标识路由名称 | route-xxxx |
|
||||
| desc | 可选 | 辅助 | 标识描述、使用场景等。 | 路由 xxxx |
|
||||
| host | 可选,不能与 `hosts` 一起使用 | 匹配规则 | 当前请求域名,比如 `foo.com`;也支持泛域名,比如 `*.foo.com`。 | "foo.com" |
|
||||
@ -303,9 +303,9 @@ HTTP/1.1 200 OK
|
||||
|
||||
| 名字 | 可选项 | 类型 | 说明 | 示例 |
|
||||
| ---------------- | ---------------------------------- | -------- | ---------------------------------------------------------------------- | ------------------------------------------------ |
|
||||
| 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) | |
|
||||
| plugins | 可选 | Plugin | 详见 [Plugin](terminology/plugin.md) | |
|
||||
| upstream | upstream 或 upstream_id 两个选一个 | Upstream | 启用的 Upstream 配置,详见 [Upstream](terminology/upstream.md) | |
|
||||
| upstream_id | upstream 或 upstream_id 两个选一个 | Upstream | 启用的 upstream id,详见 [Upstream](terminology/upstream.md) | |
|
||||
| name | 可选 | 辅助 | 标识服务名称。 | |
|
||||
| desc | 可选 | 辅助 | 服务描述、使用场景等。 | |
|
||||
| labels | 可选 | 匹配规则 | 标识附加属性的键值对 | {"version":"v2","build":"16","env":"production"} |
|
||||
@ -837,7 +837,7 @@ ssl 对象 json 配置内容:
|
||||
|
||||
| 名字 | 可选项 | 类型 | 说明 | 示例 |
|
||||
| ----------- | ------ | ------ | --------------------------------------------- | ---------- |
|
||||
| plugins | 必需 | Plugin | 详见 [Plugin](architecture-design/plugin.md) | |
|
||||
| plugins | 必需 | Plugin | 详见 [Plugin](terminology/plugin.md) | |
|
||||
| create_time | 可选 | 辅助 | 单位为秒的 epoch 时间戳,如果不指定则自动创建 | 1602883670 |
|
||||
| update_time | 可选 | 辅助 | 单位为秒的 epoch 时间戳,如果不指定则自动创建 | 1602883670 |
|
||||
|
||||
@ -864,7 +864,7 @@ ssl 对象 json 配置内容:
|
||||
|
||||
| 名字 | 可选项 | 类型 | 说明 | 示例 |
|
||||
|---------|---------|----|-----------|----|
|
||||
|plugins | 必需 |Plugin| 详见 [Plugin](architecture-design/plugin.md) ||
|
||||
|plugins | 必需 |Plugin| 详见 [Plugin](terminology/plugin.md) ||
|
||||
|desc | 可选 | 辅助 | 标识描述、使用场景等 |customer xxxx|
|
||||
|labels | 可选 | 辅助 | 标识附加属性的键值对 |{"version":"v2","build":"16","env":"production"}|
|
||||
|create_time| 可选 | 辅助 | 单位为秒的 epoch 时间戳,如果不指定则自动创建 |1602883670|
|
||||
@ -973,8 +973,8 @@ $ curl "http://127.0.0.1:9080/apisix/admin/plugins/key-auth" -H 'X-API-KEY:
|
||||
|
||||
| 名字 | 可选项 | 类型 | 说明 | 示例 |
|
||||
| ---------------- | ------| -------- | ------| -----|
|
||||
| upstream | 可选 | Upstream | 启用的 Upstream 配置,详见 [Upstream](architecture-design/upstream.md) | |
|
||||
| upstream_id | 可选 | Upstream | 启用的 upstream id,详见 [Upstream](architecture-design/upstream.md) | |
|
||||
| upstream | 可选 | Upstream | 启用的 Upstream 配置,详见 [Upstream](terminology/upstream.md) | |
|
||||
| upstream_id | 可选 | Upstream | 启用的 upstream id,详见 [Upstream](terminology/upstream.md) | |
|
||||
| remote_addr | 可选 | IP/CIDR | 过滤选项:如果客户端 IP 匹配,则转发到上游 | "127.0.0.1/32" 或 "127.0.0.1" |
|
||||
| server_addr | 可选 | IP/CIDR | 过滤选项:如果 APISIX 服务器 IP 与 server_addr 匹配,则转发到上游 | "127.0.0.1/32" 或 "127.0.0.1" |
|
||||
| server_port | 可选 | 整数 | 过滤选项:如果 APISIX 服务器 port 与 server_port 匹配,则转发到上游 | 9090 |
|
||||
|
@ -134,7 +134,7 @@ curl "http://127.0.0.1:9080/apisix/admin/services/" -H 'X-API-KEY: edd1c9f034335
|
||||
|
||||
Apache APISIX 提供了强大的 [Admin API](./admin-api.md) 和 [Dashboard](https://github.com/apache/apisix-dashboard) 可供我们使用。在本文中,我们使用 Admin API 来做演示。
|
||||
|
||||
我们可以创建一个 [Route](./architecture-design/route.md) 并与上游服务(通常也被称为 [Upstream](./architecture-design/upstream.md) 或后端服务)绑定,当一个 `请求(Request)` 到达 Apache APISIX 时,Apache APISIX 就会明白这个请求应该转发到哪个上游服务中。
|
||||
我们可以创建一个 [Route](./terminology/route.md) 并与上游服务(通常也被称为 [Upstream](./terminology/upstream.md) 或后端服务)绑定,当一个 `请求(Request)` 到达 Apache APISIX 时,Apache APISIX 就会明白这个请求应该转发到哪个上游服务中。
|
||||
|
||||
因为我们为 Route 对象配置了匹配规则,所以 Apache APISIX 可以将请求转发到对应的上游服务。以下代码会创建一个示例 Route 配置:
|
||||
|
||||
@ -194,7 +194,7 @@ curl "http://127.0.0.1:9080/apisix/admin/upstreams/1" -H "X-API-KEY: edd1c9f0343
|
||||
-->
|
||||
|
||||
:::note 注意
|
||||
创建上游服务实际上并不是必需的,因为我们可以使用 [插件](./architecture-design/plugin.md) 拦截请求,然后直接响应。但在本指南中,我们假设需要设置至少一个上游服务。
|
||||
创建上游服务实际上并不是必需的,因为我们可以使用 [插件](./terminology/plugin.md) 拦截请求,然后直接响应。但在本指南中,我们假设需要设置至少一个上游服务。
|
||||
:::
|
||||
|
||||
### 绑定路由与上游服务
|
||||
@ -228,9 +228,9 @@ curl -i -X GET "http://127.0.0.1:9080/get?foo1=bar1&foo2=bar2" -H "Host: httpbin
|
||||
|
||||
我们在第二步中创建的路由是公共的,只要知道 Apache APISIX 对外暴露的地址,**任何人** 都可以访问这个上游服务,这种访问方式没有保护措施,存在一定的安全隐患。在实际应用场景中,我们需要为路由添加身份验证。
|
||||
|
||||
现在我们希望只有特定的用户 `John` 可以访问这个上游服务,需要使用 [消费者(Consumer)](./architecture-design/consumer.md) 和 [插件(Plugin)](./architecture-design/plugin.md) 来实现身份验证。
|
||||
现在我们希望只有特定的用户 `John` 可以访问这个上游服务,需要使用 [消费者(Consumer)](./terminology/consumer.md) 和 [插件(Plugin)](./terminology/plugin.md) 来实现身份验证。
|
||||
|
||||
首先,让我们用 [key-auth](./plugins/key-auth.md) 插件创建一个 [消费者(Consumer)](./architecture-design/consumer.md) `John`,我们需要提供一个指定的密钥:
|
||||
首先,让我们用 [key-auth](./plugins/key-auth.md) 插件创建一个 [消费者(Consumer)](./terminology/consumer.md) `John`,我们需要提供一个指定的密钥:
|
||||
|
||||
```bash
|
||||
curl "http://127.0.0.1:9080/apisix/admin/consumers" -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
|
||||
|
@ -31,7 +31,7 @@ description: 本文介绍了关于 Apache APISIX `basic-auth` 插件的基本信
|
||||
|
||||
使用 `basic-auth` 插件可以将 [Basic_access_authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) 添加到 Route 或 Service 中。
|
||||
|
||||
该插件需要与 [Consumer](../architecture-design/consumer.md) 一起使用。API 的消费者可以将它们的密钥添加到请求头中以验证其请求。
|
||||
该插件需要与 [Consumer](../terminology/consumer.md) 一起使用。API 的消费者可以将它们的密钥添加到请求头中以验证其请求。
|
||||
|
||||
## 属性
|
||||
|
||||
|
@ -31,7 +31,7 @@ description: 本文介绍了关于 Apache APISIX `key-auth` 插件的基本信
|
||||
|
||||
`key-auth` 插件用于向 Route 或 Service 添加身份验证密钥(API key)。
|
||||
|
||||
它需要与 [Consumer](../architecture-design/consumer.md) 一起配合才能工作,通过 Consumer 将其密钥添加到查询字符串参数或标头中以验证其请求。
|
||||
它需要与 [Consumer](../terminology/consumer.md) 一起配合才能工作,通过 Consumer 将其密钥添加到查询字符串参数或标头中以验证其请求。
|
||||
|
||||
## 属性
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user