mirror of
https://gitee.com/iresty/apisix.git
synced 2024-11-29 18:48:31 +08:00
docs: lint Markdown for multiple consecutive blank lines (#3047)
- remove unneeded MD009 - Trailing spaces config entry - MD012 - Multiple consecutive blank lines https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md#md012---multiple-consecutive-blank-lines
This commit is contained in:
parent
f476d2c3dc
commit
1f52c70d84
@ -22,10 +22,8 @@ MD004: false
|
||||
MD005: false
|
||||
MD006: false
|
||||
MD007: false
|
||||
MD009: false
|
||||
MD010: false
|
||||
MD011: false
|
||||
MD012: false
|
||||
MD013: false
|
||||
MD014: false
|
||||
MD018: false
|
||||
|
@ -139,13 +139,11 @@ For more changes, please refer to [Milestone](https://github.com/apache/apisix/m
|
||||
- doc: fixed `grpc-transcode` plugin path error in `README`. [1946](https://github.com/apache/apisix/pull/1946)
|
||||
- doc: removed unnecessary configurations for `k8s` document. [1891](https://github.com/apache/apisix/pull/1891)
|
||||
|
||||
|
||||
## 1.4.1
|
||||
|
||||
### Bugfix
|
||||
- Fix: multiple SSL certificates are configured, but only one certificate working fine. [1818](https://github.com/apache/incubator-apisix/pull/1818)
|
||||
|
||||
|
||||
## 1.4.0
|
||||
|
||||
### Core
|
||||
@ -163,7 +161,6 @@ For more changes, please refer to [Milestone](https://github.com/apache/apisix/m
|
||||
- SSL private key encryption [1678](https://github.com/apache/incubator-apisix/pull/1678)
|
||||
- Improvement of docs for multiple plugins
|
||||
|
||||
|
||||
## 1.3.0
|
||||
|
||||
The 1.3 version is mainly for security update.
|
||||
@ -176,7 +173,6 @@ The 1.3 version is mainly for security update.
|
||||
- :sunrise: **add batch request plugin**. [#1388](https://github.com/apache/incubator-apisix/pull/1388)
|
||||
- implemented plugin `sys logger`. [#1414](https://github.com/apache/incubator-apisix/pull/1414)
|
||||
|
||||
|
||||
## 1.2.0
|
||||
|
||||
The 1.2 version brings many new features, including core and plugins.
|
||||
@ -216,7 +212,6 @@ The 1.2 version brings many new features, including core and plugins.
|
||||
- the plugin basic-auth needs required field. [#1251](https://github.com/apache/incubator-apisix/pull/1251)
|
||||
- check the count of upstream valid node. [#1292](https://github.com/apache/incubator-apisix/pull/1292)
|
||||
|
||||
|
||||
## 1.1.0
|
||||
|
||||
This release is mainly to strengthen the stability of the code and add more documentation.
|
||||
|
@ -33,7 +33,6 @@
|
||||
- [0.7.0](#070)
|
||||
- [0.6.0](#060)
|
||||
|
||||
|
||||
## 2.1.0
|
||||
|
||||
### Core
|
||||
@ -140,7 +139,6 @@
|
||||
- 文档:修正 `README` 中 `grpc-transcode` 文档路径。[1946](https://github.com/apache/apisix/pull/1946)
|
||||
- 文档: 删除 `k8s` 文档中不必要的配置。[1891](https://github.com/apache/apisix/pull/1891)
|
||||
|
||||
|
||||
## 1.4.1
|
||||
|
||||
### Bugfix
|
||||
@ -175,7 +173,6 @@
|
||||
- :sunrise: **新增 batch request 插件**. [#1388](https://github.com/apache/incubator-apisix/pull/1388)
|
||||
- 实现完成 `sys logger` 插件. [#1414](https://github.com/apache/incubator-apisix/pull/1414)
|
||||
|
||||
|
||||
## 1.2.0
|
||||
1.2 版本在内核以及插件上带来了非常多的更新。
|
||||
|
||||
@ -214,7 +211,6 @@
|
||||
- basic-auth 增加 required 字段. [#1251](https://github.com/apache/incubator-apisix/pull/1251)
|
||||
- 检查上游合法节点的个数. [#1292](https://github.com/apache/incubator-apisix/pull/1292)
|
||||
|
||||
|
||||
## 1.1.0
|
||||
|
||||
这个版本主要是加强代码的稳定性,以及增加更多的文档。
|
||||
@ -249,7 +245,6 @@
|
||||
- 增加 wolf-rbac 插件。 [#1095](https://github.com/apache/incubator-apisix/pull/1095)
|
||||
- 增加 udp-logger 插件。 [#1070](https://github.com/apache/incubator-apisix/pull/1070)
|
||||
|
||||
|
||||
## 1.0.0
|
||||
|
||||
这个版本主要是加强代码的稳定性,以及增加更多的文档。
|
||||
@ -287,7 +282,6 @@
|
||||
- 安装程序增加了仪表盘开关,支持用户自主选择是否安装仪表板程序。 [#686](https://github.com/apache/incubator-apisix/pull/686)
|
||||
- 取消对 R3 路由的支持,并移除 R3 路由模块。 [#725](https://github.com/apache/incubator-apisix/pull/725)
|
||||
|
||||
|
||||
### Plugins
|
||||
- :sunrise: **[Redirect URI](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/redirect.md)**: URI 重定向插件。 [#732](https://github.com/apache/incubator-apisix/pull/732)
|
||||
- [Proxy Rewrite](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/proxy-rewrite.md):支持 `header` 删除功能。 [#658](https://github.com/apache/incubator-apisix/pull/658)
|
||||
@ -308,11 +302,9 @@
|
||||
- 在APISIX CLI中跳过 luajit 环境的`check cjson`。[#652](https://github.com/apache/incubator-apisix/pull/652)
|
||||
- 配置 `Upstream` 时,选择 `balancer` 类型为 `chash` 时,支持更多Nginx内置变量作为计算key。 [#775](https://github.com/apache/incubator-apisix/pull/775)
|
||||
|
||||
|
||||
### Dependencies
|
||||
- 使用 `lua-resty-jsonschema` 全局替换 `lua-rapidjson` 扩展,`lua-resty-jsonschema` 解析速度更快,更容易编译。
|
||||
|
||||
|
||||
## 0.8.0
|
||||
> Released on 2019/09/30
|
||||
|
||||
@ -341,7 +333,6 @@
|
||||
- 允许设置用户自定义函数来做额外的过滤。
|
||||
- 使用 `lua-resty-ipmatcher` 替代 `lua-resty-iputils`, `lua-resty-ipmatcher` 支持 IPv6 并且速度更快。
|
||||
|
||||
|
||||
### Bugfix
|
||||
- 健康检查: 修复在多 worker 下运行时健康检查 checker 的名字错误。 [#568](https://github.com/apache/incubator-apisix/issues/568)
|
||||
|
||||
@ -376,10 +367,8 @@
|
||||
### Dashboard
|
||||
- :sunrise: **增加在线版本的 dashboard**,用户不用安装即可[体验 APISIX](http://apisix.iresty.com/). [#374](https://github.com/apache/incubator-apisix/issues/374)
|
||||
|
||||
|
||||
[Back to TOC](#table-of-contents)
|
||||
|
||||
|
||||
## 0.6.0
|
||||
|
||||
> Released on 2019/08/05
|
||||
|
@ -44,7 +44,6 @@ it can enrich all of us and the technical communities in which we participate.
|
||||
|
||||
We strive to:
|
||||
|
||||
|
||||
1. __Be open.__ We invite anyone to participate in our community. We preferably use public methods of communication for project-related messages, unless discussing something sensitive. This applies to messages for help or project-related support, too; not only is a public support request much more likely to result in an answer to a question, it also makes sure that any inadvertent mistakes made by people answering will be more easily detected and corrected.
|
||||
|
||||
2. __Be `empathetic`, welcoming, friendly, and patient.__ We work together to resolve conflict, assume good intentions, and do our best to act in an empathetic fashion. We may all experience some frustration from time to time, but we do not allow frustration to turn into a personal attack. A community where people feel uncomfortable or threatened is not a productive one. We should be respectful when dealing with other community members as well as with people outside our community.
|
||||
@ -74,7 +73,6 @@ We strive to:
|
||||
|
||||
7. __Step down considerately.__ Members of every project come and go. When somebody leaves or disengages from the project they should tell people they are leaving and take the proper steps to ensure that others can pick up where they left off. In doing so, they should remain respectful of those who continue to participate in the project and should not misrepresent the project's goals or achievements. Likewise, community members should respect any individual's choice to leave the project.</p>
|
||||
|
||||
|
||||
## Diversity Statement ##
|
||||
|
||||
Apache welcomes and encourages participation by everyone. We are committed to being a community that everyone feels good about joining. Although we may not be able to satisfy everyone, we will always work to treat everyone well.
|
||||
@ -107,15 +105,12 @@ or one of our volunteers:
|
||||
|
||||
If the violation is in documentation or code, for example inappropriate pronoun usage or word choice within official documentation, we ask that people report these privately to the project in question at private@<em>project</em>.apache.org, and, if they have sufficient ability within the project, to resolve or remove the concerning material, being mindful of the perspective of the person originally reporting the issue.
|
||||
|
||||
|
||||
## End Notes ##
|
||||
|
||||
This Code defines __empathy__ as "a vicarious participation in the emotions, ideas, or opinions of others; the ability to imagine oneself in the condition or predicament of another." __Empathetic__ is the adjectival form of empathy.
|
||||
|
||||
|
||||
This statement thanks the following, on which it draws for content and inspiration:
|
||||
|
||||
|
||||
* [CouchDB Project Code of conduct](http://couchdb.apache.org/conduct.html)
|
||||
* [Fedora Project Code of Conduct](http://fedoraproject.org/code-of-conduct)
|
||||
* [Django Code of Conduct](https://www.djangoproject.com/conduct/)
|
||||
|
@ -37,7 +37,6 @@ for us to fix.
|
||||
|
||||
* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/apache/apisix/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
|
||||
|
||||
|
||||
## How to add a new feature or change an existing one
|
||||
|
||||
_Before making any significant changes, please [open an issue](https://github.com/apache/apisix/issues)._ Discussing your proposed changes ahead of time will make the contribution process smooth for everyone.
|
||||
|
2
FAQ.md
2
FAQ.md
@ -107,7 +107,6 @@ curl -i http://127.0.0.1:9080/apisix/admin/routes/2 -H 'X-API-KEY: edd1c9f034335
|
||||
}'
|
||||
```
|
||||
|
||||
|
||||
Here is the operator list of current `lua-resty-radixtree`:
|
||||
https://github.com/iresty/lua-resty-radixtree#operator-list
|
||||
|
||||
@ -192,7 +191,6 @@ Server: APISIX web server
|
||||
</html>
|
||||
```
|
||||
|
||||
|
||||
## How to fix OpenResty Installation Failure on MacOS 10.15
|
||||
When you install the OpenResty on MacOs 10.15, you may face this error
|
||||
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
微服务领域对 API 网关有新的需求:更高的灵活性、更高的性能要求,以及云原生的贴合。
|
||||
|
||||
|
||||
## APISIX 和其他的 API 网关有什么不同之处?
|
||||
|
||||
APISIX 基于 etcd 来完成配置的保存和同步,而不是 postgres 或者 MySQL 这类关系型数据库。
|
||||
@ -110,7 +109,6 @@ curl -i http://127.0.0.1:9080/apisix/admin/routes/2 -H 'X-API-KEY: edd1c9f034335
|
||||
}'
|
||||
```
|
||||
|
||||
|
||||
更多的 lua-resty-radixtree 匹配操作,可查看操作列表:
|
||||
https://github.com/iresty/lua-resty-radixtree#operator-list
|
||||
|
||||
|
@ -294,7 +294,6 @@ Using AWS's 8 core server, APISIX's QPS reach to 140,000 with a latency of only
|
||||
|
||||
Benchmark comparison test [details data](https://gist.github.com/membphis/137db97a4bf64d3653aa42f3e016bd01)
|
||||
|
||||
|
||||
## Community
|
||||
|
||||
- Mailing List: Mail to dev-subscribe@apisix.apache.org, follow the reply to subscribe the mailing list.
|
||||
|
@ -292,7 +292,6 @@ CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** Ubun
|
||||
|
||||
性能对比测试[详细内容如下](https://gist.github.com/membphis/137db97a4bf64d3653aa42f3e016bd01)。
|
||||
|
||||
|
||||
## 社区
|
||||
|
||||
- 邮件列表 - 发送任意内容到 dev-subscribe@apisix.apache.org 后,根据回复以订阅邮件列表。
|
||||
|
@ -555,7 +555,6 @@ In addition to the basic complex equalization algorithm selection, APISIX's Upst
|
||||
|create_time|optional| epoch timestamp in second, like `1602883670`, will be created automatically if missing|
|
||||
|update_time|optional| epoch timestamp in second, like `1602883670`, will be created automatically if missing|
|
||||
|
||||
|
||||
Config Example:
|
||||
|
||||
```shell
|
||||
|
@ -21,8 +21,6 @@
|
||||
|
||||
[APISIX](https://github.com/apache/apisix) is a cloud-native microservices API gateway, delivering the ultimate performance, security, open source and scalable platform for all your APIs and microservices.
|
||||
|
||||
|
||||
|
||||
## Architecture
|
||||
|
||||
This reference architecture walks you through building **APISIX** as a serverless container API Gateway on top of AWS Fargate with AWS CDK.
|
||||
@ -167,8 +165,6 @@ new ApiSixStack(app, 'apisix-stack-dev', { env: devEnv });
|
||||
app.synth();
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Deploy the APISIX Stack with AWS CDK
|
||||
|
||||
```bash
|
||||
@ -210,7 +206,6 @@ Address: 44.226.102.63
|
||||
|
||||
Configure the IP addresses returned as your upstream nodes in your **APISIX** dashboard followed by the **Services** and **Routes** configuration. Let's say we have a `/index.php` as the URI for the first route for our first **Service** from the **Upstream** IP addresses.
|
||||
|
||||
|
||||
![](images/aws-nlb-ip-addr.png)
|
||||
![](images/aws-define-service.png)
|
||||
![](images/aws-define-route.png)
|
||||
@ -229,7 +224,6 @@ Now we have been successfully running **APISIX** in AWS Fargate as serverless co
|
||||
$ cdk destroy
|
||||
```
|
||||
|
||||
|
||||
## Running APISIX in AWS China Regions
|
||||
|
||||
update `src/main.ts`
|
||||
@ -246,10 +240,8 @@ update `src/main.ts`
|
||||
```
|
||||
_(read [here](https://github.com/iresty/docker-apisix/blob/9a731f698171f4838e9bc0f1c05d6dda130ca89b/example/docker-compose.yml#L18-L19) for more reference)_
|
||||
|
||||
|
||||
Run `cdk deploy` and specify your preferred AWS region in China.
|
||||
|
||||
|
||||
```bash
|
||||
# let's say we have another AWS_PROFILE for China regions called 'cn'
|
||||
# make sure you have aws configure --profile=cn properly.
|
||||
@ -271,7 +263,6 @@ apiSix.ApiSixServiceServiceURLF6EC7872 = http://apiSi-ApiSi-123HOROQKWZKA-126832
|
||||
|
||||
Open the `apiSix.ApiSixDashboardURL` URL and log in to configure your **APISIX** in AWS China region.
|
||||
|
||||
|
||||
_TBD_
|
||||
|
||||
## Decouple APISIX and etcd3 on AWS
|
||||
|
@ -55,7 +55,6 @@ It is very easy for APISIX to extend the discovery client, the basic steps are a
|
||||
|
||||
3. Convert the registry data into data in APISIX;
|
||||
|
||||
|
||||
### the example of Eureka
|
||||
|
||||
#### Implementation of eureka.lua
|
||||
@ -182,7 +181,6 @@ discovery:
|
||||
read: 5000 # 5000ms
|
||||
```
|
||||
|
||||
|
||||
## Upstream setting
|
||||
|
||||
Here is an example of routing a request with a URL of "/user/*" to a service which named "user-service" and use eureka discovery client in the registry :
|
||||
@ -245,5 +243,3 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/2 -H 'X-API-KEY: edd1c9f034335f
|
||||
Suppose both A-SERVICE and B-SERVICE provide a `/test` API. The above configuration allows access to A-SERVICE's `/test` API through `/a/test` and B-SERVICE's `/test` API through `/b/test`.
|
||||
|
||||
**Notice**:When configuring `upstream.service_name`, `upstream.nodes` will no longer take effect, but will be replaced by 'nodes' obtained from the registry.
|
||||
|
||||
|
||||
|
@ -34,7 +34,6 @@ Note
|
||||
|
||||
- If you want use Tengine instead of OpenResty, please take a look at this installation step script [Install Tengine at Ubuntu](../.travis/linux_tengine_runner.sh).
|
||||
|
||||
|
||||
CentOS 7
|
||||
========
|
||||
|
||||
|
@ -162,7 +162,6 @@ local _M = {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## choose phase to run
|
||||
|
||||
Determine which phase to run, generally access or rewrite. If you don't know the [Openresty life cycle](https://openresty-reference.readthedocs.io/en/latest/Directives/), it's
|
||||
|
@ -27,7 +27,6 @@
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
- [**Examples**](#examples)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
`authz-keycloak` is an authorization plugin to be used with the Keycloak Identity Server. Keycloak is an OAuth/OIDC and
|
||||
@ -48,8 +47,6 @@ For more information on Keycloak, refer to [Keycloak Authorization Docs](https:/
|
||||
| ssl_verify | boolean | optional | true | | Verify if SSL cert matches hostname. |
|
||||
| policy_enforcement_mode | string | optional | "ENFORCING" | ["ENFORCING", "PERMISSIVE"] | |
|
||||
|
||||
|
||||
|
||||
### Policy Enforcement Mode
|
||||
|
||||
Specifies how policies are enforced when processing authorization requests sent to the server.
|
||||
@ -62,7 +59,6 @@ Specifies how policies are enforced when processing authorization requests sent
|
||||
|
||||
- Requests are allowed even when there is no policy associated with a given resource.
|
||||
|
||||
|
||||
## How To Enable
|
||||
|
||||
Create a `route` and enable the `authz-keycloak` plugin on the route:
|
||||
@ -87,14 +83,12 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## Test Plugin
|
||||
|
||||
```shell
|
||||
curl http://127.0.0.1:9080/get -H 'Authorization: Bearer {JWT Token}'
|
||||
```
|
||||
|
||||
|
||||
## Disable Plugin
|
||||
|
||||
Remove the corresponding json configuration in the plugin configuration to disable the `authz-keycloak`.
|
||||
|
@ -69,7 +69,6 @@ curl http://127.0.0.1:9080/apisix/admin/plugin_metadata/batch-requests -H 'X-API
|
||||
| ---------------- | ------- | ------ | ------------- | ------- | ------------------------------------------------ |
|
||||
| max_body_size | integer | required | 1048576 | > 0 | the maximum of request body size in bytes |
|
||||
|
||||
|
||||
## Batch API Request/Response
|
||||
The plugin will create a API in `apisix` to handle your batch request.
|
||||
|
||||
|
@ -27,7 +27,6 @@
|
||||
- [How to restrict service_id](#how-to-restrict-service_id)
|
||||
- [Disable Plugin](#disable-plugin)
|
||||
|
||||
|
||||
## Introduction
|
||||
|
||||
The `consumer-restriction` makes corresponding access restrictions based on different objects selected.
|
||||
|
@ -26,7 +26,6 @@
|
||||
- [**Test Plugin**](#test-plugin)
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
`echo` is a a useful plugin to help users understand as fully as possible how to develop an APISIX plugin.
|
||||
|
@ -28,7 +28,6 @@
|
||||
- [**Metadata**](#metadata)
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
`http-logger` is a plugin which push Log data requests to HTTP/HTTPS servers.
|
||||
|
@ -26,7 +26,6 @@
|
||||
- [**Test Plugin**](#test-plugin)
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
The `ip-restriction` can restrict access to a Service or a Route by either
|
||||
@ -133,7 +132,6 @@ HTTP/1.1 403 Forbidden
|
||||
{"message":"Your IP address is not allowed"}
|
||||
```
|
||||
|
||||
|
||||
## Disable Plugin
|
||||
|
||||
When you want to disable the `ip-restriction` plugin, it is very simple,
|
||||
|
@ -27,7 +27,6 @@
|
||||
- [**Test Plugin**](#test-plugin)
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
`jwt-auth` is an authentication plugin that need to work with `consumer`. Add JWT Authentication to a `service` or `route`.
|
||||
@ -206,4 +205,3 @@ $ curl http://127.0.0.1:2379/v2/keys/apisix/routes/1 -X PUT -d value='
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
||||
- [**Test Plugin**](#test-plugin)
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
`key-auth` is an authentication plugin, it should work with `consumer` together.
|
||||
@ -35,12 +34,10 @@ Add Key Authentication (also sometimes referred to as an API key) to a Service o
|
||||
|
||||
## Attributes
|
||||
|
||||
|
||||
| Name | Type | Requirement | Default | Valid | Description |
|
||||
| ---- | ------ | ----------- | ------- | ----- | ---------------------------------------------------------------------------- |
|
||||
| key | string | required | | | different consumer objects should use different values, it should be unique. |
|
||||
|
||||
|
||||
## How To Enable
|
||||
|
||||
Two steps are required:
|
||||
|
@ -46,7 +46,6 @@ Limit request rate by a fixed number of requests in a given time window.
|
||||
| redis_timeout | integer | optional | 1000 | [1,...] | When using the `redis` policy, this property specifies the timeout in milliseconds of any command submitted to the Redis server. |
|
||||
| redis_cluster_nodes | array | optional | | | When using `redis-cluster` policy,This property is a list of addresses of Redis cluster service nodes. |
|
||||
|
||||
|
||||
**Key can be customized by the user, only need to modify a line of code of the plug-in to complete. It is a security consideration that is not open in the plugin.**
|
||||
|
||||
## How To Enable
|
||||
|
@ -26,7 +26,6 @@
|
||||
- [**Test Plugin**](#test-plugin)
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
The plugin `mqtt-proxy` only works in stream model, it help you to dynamic load
|
||||
@ -43,7 +42,6 @@ And this plugin both support MQTT protocol [3.1.*](http://docs.oasis-open.org/mq
|
||||
| upstream.ip | string | required | | | IP address of upstream, will forward current request to. |
|
||||
| upstream.port | number | required | | | Port of upstream, will forward current request to. |
|
||||
|
||||
|
||||
## How To Enable
|
||||
|
||||
To enable this plugin, we need to enable the stream_proxy configuration in `conf/config.yaml` first.
|
||||
|
@ -28,23 +28,19 @@
|
||||
- [**Test Plugin**](#test-plugin)
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
`node-status` is a plugin which we could get request status information through it's API.
|
||||
|
||||
|
||||
## Attributes
|
||||
|
||||
None
|
||||
|
||||
|
||||
## API
|
||||
|
||||
This plugin will add `/apisix/status` to get status information.
|
||||
You may need to use [interceptors](../plugin-interceptors.md) to protect it.
|
||||
|
||||
|
||||
## How To Enable
|
||||
|
||||
1. Configure `node-status` in the plugin list of the configuration file `conf/config.yaml`,
|
||||
@ -83,7 +79,6 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f
|
||||
You have to configure `node-status` in the configuration file `apisix/conf/config.yaml` before creating a route like this.
|
||||
And this plugin will not make any difference in future requests, so usually we don't set this plugin when creating routes.
|
||||
|
||||
|
||||
## Test Plugin
|
||||
|
||||
1. Request with uri `/apisix/status`
|
||||
@ -114,7 +109,6 @@ Server: APISIX web server
|
||||
| reading | the current number of connections where APISIX is reading the request header |
|
||||
| id | APISIX's uid which is saved in apisix/conf/apisix.uid |
|
||||
|
||||
|
||||
## Disable Plugin
|
||||
|
||||
1. You can delete `node-status` in the plugin list of the configuration file `apisix/conf/config.yaml`,
|
||||
|
@ -31,7 +31,6 @@ The proxy-mirror plugin, which provides the ability to mirror client requests.
|
||||
| ---- | ------ | ----------- | ------- | ----- | --------------------------------------------------------------------------------------------------------------------------- |
|
||||
| host | string | optional | | | Specify a mirror service address, e.g. http://127.0.0.1:9797 (address needs to contain schema: http or https, not URI part) |
|
||||
|
||||
|
||||
### Examples
|
||||
|
||||
#### Enable the plugin
|
||||
@ -74,12 +73,10 @@ hello world
|
||||
> Since the specified mirror address is 127.0.0.1:9797, so to verify whether this plugin is in effect, we need to confirm on the service with port 9797.
|
||||
> For example, we can start a simple server: python -m SimpleHTTPServer 9797
|
||||
|
||||
|
||||
## Disable Plugin
|
||||
|
||||
Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:
|
||||
|
||||
|
||||
```shell
|
||||
curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
|
||||
{
|
||||
|
@ -26,7 +26,6 @@
|
||||
- [**Test Plugin**](#test-plugin)
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
The `referer-restriction` can restrict access to a Service or a Route by
|
||||
@ -113,4 +112,3 @@ $ curl http://127.0.0.1:2379/v2/keys/apisix/routes/1 -H 'X-API-KEY: edd1c9f03433
|
||||
```
|
||||
|
||||
The `referer-restriction` plugin has been disabled now. It works for other plugins.
|
||||
|
||||
|
@ -27,7 +27,6 @@
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
- [**Examples**](#examples)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
`request-id` plugin adds a unique ID (UUID) to each request proxied through APISIX. This plugin can be used to track an
|
||||
|
@ -27,7 +27,6 @@
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
- [**Examples**](#examples)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
`request-validation` plugin validates the requests before forwarding to an upstream service. The validation plugin uses
|
||||
@ -102,7 +101,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## Examples:
|
||||
|
||||
**`Enum` validate:**
|
||||
@ -123,7 +121,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
**`Boolean` validate:**
|
||||
|
||||
```json
|
||||
@ -196,7 +193,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
**`Array` validate:**
|
||||
|
||||
```json
|
||||
|
@ -116,4 +116,3 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
||||
- [**Test Plugin**](#test-plugin)
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
`sys` is a plugin which push Log data requests to Syslog.
|
||||
|
@ -33,7 +33,6 @@
|
||||
`wolf-rbac` is an authentication and authorization (rbac) plugin. It needs to work with `consumer`. Also need to add `wolf-rbac` to a `service` or `route`.
|
||||
The rbac feature is provided by [wolf](https://github.com/iGeeky/wolf). For more information about `wolf`, please refer to [wolf documentation](https://github.com/iGeeky/wolf).
|
||||
|
||||
|
||||
## Attributes
|
||||
|
||||
| Name | Type | Requirement | Default | Valid | Description |
|
||||
@ -62,7 +61,6 @@ You may need to use [interceptors](../plugin-interceptors.md) to protect it.
|
||||
|
||||
[Wolf-console usage](https://github.com/iGeeky/wolf/blob/master/docs/usage.md)
|
||||
|
||||
|
||||
## How To Enable
|
||||
|
||||
1. set a consumer and config the value of the `wolf-rbac`。
|
||||
@ -138,7 +136,6 @@ curl http://127.0.0.1:9080/apisix/plugin/wolf-rbac/login -i \
|
||||
-d 'appid=restful&username=test&password=user-password'
|
||||
```
|
||||
|
||||
|
||||
#### try request with token
|
||||
|
||||
* without token
|
||||
@ -197,7 +194,6 @@ HTTP/1.1 200 OK
|
||||
<!DOCTYPE html>
|
||||
```
|
||||
|
||||
|
||||
#### Get `RBAC` user information
|
||||
|
||||
```shell
|
||||
@ -257,4 +253,3 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f1
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
||||
- [**Test Plugin**](#test-plugin)
|
||||
- [**Disable Plugin**](#disable-plugin)
|
||||
|
||||
|
||||
## Name
|
||||
|
||||
[Zipkin](https://github.com/openzipkin/zipkin) is a OpenTracing plugin.
|
||||
@ -166,4 +165,3 @@ func main(){
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -54,7 +54,6 @@ Users are encouraged to add themselves to this page, [issue](https://github.com/
|
||||
1. <a href="https://www.zuzuche.com/" rel="nofollow">zuzuche 租租车</a>
|
||||
1. <a href="https://www.zybang.com/" rel="nofollow">zybang 作业帮</a>
|
||||
|
||||
|
||||
<img src="https://raw.githubusercontent.com/iresty/iresty.com/master/user-wall.jpg" width="900" height="500">
|
||||
|
||||
# User Cases
|
||||
|
@ -101,7 +101,6 @@ routes:
|
||||
#END
|
||||
```
|
||||
|
||||
|
||||
#### How to config Router + Service
|
||||
|
||||
```yml
|
||||
|
@ -44,8 +44,6 @@
|
||||
|PATCH |/apisix/admin/routes/{id}|{...}|标准 PATCH ,修改已有 Route 的部分属性,其他不涉及的属性会原样保留;如果你要删除某个属性,将该属性的值设置为null 即可删除;特别地,当需要修改属性的值为数组时,该属性将全量更新|
|
||||
|PATCH |/apisix/admin/routes/{id}/{path}|{...}|SubPath PATCH,通过 {path} 指定 Route 要更新的属性,全量更新该属性的数据,其他不涉及的属性会原样保留。两种 PATCH 的区别可以参考后面的示例|
|
||||
|
||||
|
||||
|
||||
> URL 请求参数:
|
||||
|
||||
|名字 |可选项 |类型 |说明 |示例|
|
||||
@ -322,7 +320,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f13
|
||||
|PATCH |/apisix/admin/services/{id}|{...}|标准 PATCH ,修改已有 Service 的部分属性,其他不涉及的属性会原样保留;如果你要删除某个属性,将该属性的值设置为null 即可删除;特别地,当需要修改属性的值为数组时,该属性将全量更新|
|
||||
|PATCH |/apisix/admin/services/{id}/{path}|{...}|SubPath PATCH,通过 {path} 指定 Service 需要更新的属性,全量更新该属性的数据,其他不涉及的属性会原样保留|
|
||||
|
||||
|
||||
> body 请求参数:
|
||||
|
||||
|名字 |可选项 |类型 |说明 |示例|
|
||||
|
@ -63,7 +63,6 @@ if batch_processor then
|
||||
end
|
||||
```
|
||||
|
||||
|
||||
注意:请确保批处理的最大大小(条目数)在函数执行的范围内。
|
||||
刷新批处理的计时器基于“ inactive_timeout”配置运行。因此,为了获得最佳使用效果,
|
||||
保持“ inactive_timeout”小于“ buffer_duration”。
|
||||
|
@ -43,7 +43,6 @@
|
||||
|
||||
常见的注册中心:Eureka, Etcd, Consul, Nacos, Zookeeper等
|
||||
|
||||
|
||||
## 如何扩展注册中心?
|
||||
|
||||
### 基本步骤
|
||||
@ -253,7 +252,4 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/2 -H 'X-API-KEY: edd1c9f034335f
|
||||
|
||||
假如 A-SERVICE 和 B-SERVICE 都提供了一个 `/test` 的接口,通过上面的配置,可以通过 `/a/test` 访问 A-SERVICE 的 `/test` 接口,通过 `/b/test` 访问 B-SERVICE 的 `/test` 接口。
|
||||
|
||||
|
||||
**注意**:配置 `upstream.service_name` 后 `upstream.nodes` 将不再生效,而是使用从注册中心的数据来替换,即使注册中心的数据是空的。
|
||||
|
||||
|
||||
|
@ -33,7 +33,6 @@
|
||||
|
||||
- 如果你要想使用 Tengine 替代 OpenResty,请参考 [Install Tengine at Ubuntu](../../.travis/linux_tengine_runner.sh)。
|
||||
|
||||
|
||||
CentOS 7
|
||||
========
|
||||
|
||||
|
@ -30,7 +30,6 @@
|
||||
|
||||
echo 可以帮助用户尽可能全面地了解如何开发APISIX插件。
|
||||
|
||||
|
||||
该插件展示了如何在常见的 phase 中实现相应的功能,常见的 phase 包括:init, rewrite, access, balancer, header filer, body filter 以及 log。
|
||||
|
||||
**注意:该插件仅用作示例,并没有处理一些特别的场景。请勿将之用于生产环境上!**
|
||||
|
@ -172,7 +172,6 @@ Accept-Ranges: bytes
|
||||
<html lang="cn">
|
||||
```
|
||||
|
||||
|
||||
## 自定义 header 名称
|
||||
|
||||
我们可以在 `conf/config.yaml` 中,`plugin_attr` 下添加插件的属性配置来自定义参数 header 名称。
|
||||
@ -201,7 +200,6 @@ Accept-Ranges: bytes
|
||||
<html lang="cn">
|
||||
```
|
||||
|
||||
|
||||
## 禁用插件
|
||||
|
||||
当你想去掉 `hmac-auth` 插件的时候,很简单,在插件的配置中把对应的 `json` 配置删除即可,无须重启服务,即刻生效:
|
||||
|
@ -102,4 +102,3 @@ $ curl http://127.0.0.1:2379/v2/keys/apisix/routes/1 -H 'X-API-KEY: edd1c9f0343
|
||||
```
|
||||
|
||||
现在就已移除 `ip-restriction` 插件,其它插件的开启和移除也类似。
|
||||
|
||||
|
@ -27,7 +27,6 @@
|
||||
- [**测试插件**](#测试插件)
|
||||
- [**禁用插件**](#禁用插件)
|
||||
|
||||
|
||||
## 名字
|
||||
|
||||
`jwt-auth` 是一个认证插件,它需要与 `consumer` 一起配合才能工作。
|
||||
@ -38,7 +37,6 @@
|
||||
|
||||
## 属性
|
||||
|
||||
|
||||
| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
|
||||
|:--------------|:--------|:------|:--------|:----------------------------|:-----------------------------------------------------------------------------------------------|
|
||||
| key | string | 必须 | | | 不同的 `consumer` 对象应有不同的值,它应当是唯一的。不同 consumer 使用了相同的 `key` ,将会出现请求匹配异常。 |
|
||||
@ -204,4 +202,3 @@ $ curl http://127.0.0.1:2379/v2/keys/apisix/routes/1 -X PUT -d value='
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
||||
- [**测试插件**](#测试插件)
|
||||
- [**禁用插件**](#禁用插件)
|
||||
|
||||
|
||||
## 名字
|
||||
|
||||
`key-auth` 是一个认证插件,它需要与 `consumer` 一起配合才能工作。
|
||||
|
@ -107,4 +107,3 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f13
|
||||
```
|
||||
|
||||
现在就已经移除了 limit-conn 插件了。其他插件的开启和移除也是同样的方法。
|
||||
|
||||
|
@ -28,22 +28,18 @@
|
||||
- [**测试插件**](#测试插件)
|
||||
- [**禁用插件**](#禁用插件)
|
||||
|
||||
|
||||
## 插件简介
|
||||
|
||||
`node-status` 是 `APISIX` 的请求状态查询插件,返回基本的状态信息。
|
||||
|
||||
|
||||
## 插件属性
|
||||
|
||||
无。
|
||||
|
||||
|
||||
## 插件接口
|
||||
|
||||
插件增加接口 `/apisix/status`,可通过 [interceptors](plugin-interceptors.md) 保护该接口。
|
||||
|
||||
|
||||
## 启用插件
|
||||
|
||||
1. 配置文件 `conf/config.yaml` 的 plugin list 中配置 `node-status`
|
||||
@ -80,7 +76,6 @@ $ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f
|
||||
|
||||
发送该请求的前提是 `apisix/conf/config.yaml` 中已经配置 `node-status`,此时 `node-status` 插件对该请求处理无影响,所以一般不会将 `node-status` 插件设置到路由中。
|
||||
|
||||
|
||||
## 测试插件
|
||||
|
||||
1. 发送请求
|
||||
@ -111,7 +106,6 @@ Server: APISIX web server
|
||||
| reading | 当前正在读取请求头的连接数 |
|
||||
| id | APISIX uid 信息,保存在 apisix/conf/apisix.uid |
|
||||
|
||||
|
||||
## 禁用插件
|
||||
|
||||
1. 配置文件 `apisix/conf/config.yaml` 的 plugin list 中删除 `node-status`
|
||||
|
@ -28,7 +28,6 @@
|
||||
- [**禁用插件**](#禁用插件)
|
||||
- [**示例**](#示例)
|
||||
|
||||
|
||||
## 名称
|
||||
|
||||
`request-id` 插件通过 APISIX 为每一个请求代理添加唯一 ID(UUID),以用于追踪 API 请求。该插件在 `header_name` 已经在请求中存在时不会为请求添加新的 ID
|
||||
|
@ -33,7 +33,6 @@
|
||||
|
||||
该插件使用 `Json Schema` 进行数据验证,有关 `Json Schema` 的更多信息,请参阅 [JSON schema](https://github.com/api7/jsonschema)。
|
||||
|
||||
|
||||
## 属性
|
||||
|
||||
| Name | Type | Requirement | Default | Valid | Description |
|
||||
@ -70,7 +69,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## 测试插件
|
||||
|
||||
```shell
|
||||
@ -82,7 +80,6 @@ curl --header "Content-Type: application/json" \
|
||||
|
||||
如果 `Schema` 验证失败,将返回 `400 bad request` 错误。
|
||||
|
||||
|
||||
## 禁用插件
|
||||
|
||||
在路由 `plugins` 配置块中删除 `request-validation` 配置,即可禁用该插件。
|
||||
@ -102,7 +99,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## 示例
|
||||
|
||||
**枚举(Enums)验证:**
|
||||
@ -195,7 +191,6 @@ curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f13
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
**数组(Array)验证:**
|
||||
|
||||
```json
|
||||
|
@ -87,12 +87,10 @@ plugin_attr:
|
||||
report_ttl: 3600
|
||||
```
|
||||
|
||||
|
||||
## 测试插件
|
||||
|
||||
Apache APISIX Dashboard 会收集上报到 etcd 中的服务信息,在启用这个插件后,你可以通过 APISIX Dashboard 来查看这些数据。
|
||||
|
||||
|
||||
## 禁用插件
|
||||
|
||||
通过移除配置文件 `apisix/conf/config.yaml` 插件列表中的 `server-info`,即可方便地禁用该插件。
|
||||
|
@ -31,7 +31,6 @@
|
||||
|
||||
`sls-logger` 是使用[RF5424](https://tools.ietf.org/html/rfc5424)标准将日志数据发送到以JSON格式发送到[阿里云日志服务](https://help.aliyun.com/document_detail/112903.html?spm=a2c4g.11186623.6.763.21321b47wcwt1u)。
|
||||
|
||||
|
||||
该插件提供了将Log Data作为批处理推送到阿里云日志服务器的功能。如果您没有收到日志数据,请放心一些时间,它会在我们的批处理处理器中的计时器功能到期后自动发送日志。
|
||||
|
||||
有关Apache APISIX中Batch-Processor的更多信息,请参考:
|
||||
|
@ -26,7 +26,6 @@
|
||||
- [**测试插件**](#test-plugin)
|
||||
- [**禁用插件**](#disable-plugin)
|
||||
|
||||
|
||||
## 定义
|
||||
|
||||
`sys` 是一个将Log data请求推送到Syslog的插件。
|
||||
@ -89,7 +88,6 @@ hello, world
|
||||
|
||||
## 禁用插件
|
||||
|
||||
|
||||
想要禁用“sys-logger”插件,是非常简单的,将对应的插件配置从json配置删除,就会立即生效,不需要重新启动服务:
|
||||
|
||||
```shell
|
||||
|
@ -54,7 +54,6 @@
|
||||
| retry_delay | integer | 可选 | 1 | [0,...] | 如果执行失败,则应延迟执行流程的秒数 |
|
||||
| include_req_body | boolean | 可选 | | | 是否包括请求 body |
|
||||
|
||||
|
||||
## 如何开启
|
||||
|
||||
1. 下面例子展示了如何为指定路由开启 `tcp-logger` 插件的。
|
||||
|
@ -33,7 +33,6 @@
|
||||
`wolf-rbac` 是一个认证及授权(rbac)插件,它需要与 `consumer` 一起配合才能工作。同时需要添加 `wolf-rbac` 到一个 `service` 或 `route` 中。
|
||||
rbac功能由[wolf](https://github.com/iGeeky/wolf)提供, 有关 `wolf` 的更多信息, 请参考[wolf文档](https://github.com/iGeeky/wolf)。
|
||||
|
||||
|
||||
## 属性
|
||||
|
||||
| 名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
|
||||
@ -62,7 +61,6 @@ rbac功能由[wolf](https://github.com/iGeeky/wolf)提供, 有关 `wolf` 的更
|
||||
|
||||
[Wolf管理使用](https://github.com/iGeeky/wolf/blob/master/docs/usage.md)
|
||||
|
||||
|
||||
## 如何启用
|
||||
|
||||
1. 创建一个 consumer 对象,并设置插件 `wolf-rbac` 的值。
|
||||
@ -138,7 +136,6 @@ curl http://127.0.0.1:9080/apisix/plugin/wolf-rbac/login -i \
|
||||
-d 'appid=restful&username=test&password=user-password'
|
||||
```
|
||||
|
||||
|
||||
#### 使用获取到的 token 进行请求尝试
|
||||
|
||||
* 缺少 token
|
||||
@ -235,7 +232,6 @@ HTTP/1.1 200 OK
|
||||
{"message":"success to change password"}
|
||||
```
|
||||
|
||||
|
||||
## 禁用插件
|
||||
|
||||
当你想去掉 `rbac-wolf` 插件的时候,很简单,在routes中的插件配置中把对应的 `插件` 配置删除即可,无须重启服务,即刻生效:
|
||||
@ -255,4 +251,3 @@ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f1
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
|
@ -125,7 +125,6 @@ $ curl http://127.0.0.1:2379/v2/keys/apisix/routes/1 -H 'X-API-KEY: edd1c9f03433
|
||||
|
||||
现在就已经移除了 Zipkin 插件了。其他插件的开启和移除也是同样的方法。
|
||||
|
||||
|
||||
## 上游服务是Golang的示例代码
|
||||
|
||||
```golang
|
||||
@ -164,4 +163,3 @@ func main(){
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user