You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by gi...@apache.org on 2021/07/18 22:49:04 UTC

[apisix-website] branch asf-site updated: deploy: acdf9b70ce055d4ca4569456494ef07703e78cc6

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/apisix-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new b4e80fd  deploy: acdf9b70ce055d4ca4569456494ef07703e78cc6
b4e80fd is described below

commit b4e80fde34ad9267873b71eb805d99c9583122cc
Author: Yiyiyimu <Yi...@users.noreply.github.com>
AuthorDate: Sun Jul 18 22:48:50 2021 +0000

    deploy: acdf9b70ce055d4ca4569456494ef07703e78cc6
---
 404.html                                                       |  8 ++++----
 assets/js/{19945770.bdc3122a.js => 19945770.9255b385.js}       |  2 +-
 assets/js/25b7c3f2.3334130e.js                                 |  1 +
 assets/js/25b7c3f2.5ba78ca2.js                                 |  1 -
 assets/js/{3393d167.985654b9.js => 3393d167.82d77a10.js}       |  2 +-
 assets/js/{358566b4.c5fbee37.js => 358566b4.fafb46fa.js}       |  2 +-
 assets/js/{3dc9f306.53d8f5d9.js => 3dc9f306.ae07f86e.js}       |  2 +-
 assets/js/{40fb2fae.5196eda4.js => 40fb2fae.84d79334.js}       |  2 +-
 assets/js/47f8a22a.09e19627.js                                 |  1 -
 assets/js/47f8a22a.342dfe61.js                                 |  1 +
 assets/js/{4c20006b.0f6897e5.js => 4c20006b.ed54d717.js}       |  2 +-
 assets/js/{50facf8e.5720821d.js => 50facf8e.752a8b68.js}       |  2 +-
 assets/js/{542fd41f.373f0c6f.js => 542fd41f.4a9a425b.js}       |  2 +-
 assets/js/{601c6eaa.dbc88639.js => 601c6eaa.fe997c8a.js}       |  2 +-
 assets/js/{66fbb9c2.bc6dd0e2.js => 66fbb9c2.52cefa75.js}       |  2 +-
 assets/js/{7af3052c.3aa00bea.js => 7af3052c.4c0c54cf.js}       |  2 +-
 assets/js/{8e784bf3.af2bc0ab.js => 8e784bf3.0d947602.js}       |  2 +-
 assets/js/98c69322.191ba778.js                                 |  1 +
 assets/js/98c69322.4e3d4037.js                                 |  1 -
 assets/js/{adbb350b.7579d744.js => adbb350b.6ccb78f6.js}       |  2 +-
 assets/js/{d18db9b0.191d3503.js => d18db9b0.063baaa9.js}       |  2 +-
 assets/js/main.33b4a4b9.js                                     |  2 --
 assets/js/main.92fba19f.js                                     |  2 ++
 .../js/main.92fba19f.js.LICENSE.txt                            |  0
 .../js/{runtime~main.1abbe8ea.js => runtime~main.0e888df5.js}  |  2 +-
 blog/2020/08/22/new-website/index.html                         |  8 ++++----
 .../12/16/another-way-to-implement-envoy-filter/index.html     |  8 ++++----
 .../12/18/a-first-look-at-kubernetes-service-api/index.html    |  8 ++++----
 .../index.html                                                 |  8 ++++----
 blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html    |  8 ++++----
 .../2021/02/08/stable-product-delivery-with-cypress/index.html |  8 ++++----
 .../02/26/install-apache-apisix-from-helm-charts/index.html    |  8 ++++----
 .../03/02/get-front-end-test-coverage-with-cypress/index.html  |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../index.html"                                                |  8 ++++----
 .../index.html"                                                |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../06/21/use-Java-to-write-Apache-APISIX-plugins/index.html   |  8 ++++----
 .../index.html                                                 |  8 ++++----
 blog/2021/06/29/release-apache-apisix-2.7-en/index.html        |  8 ++++----
 blog/2021/06/29/release-apache-apisix-2.7/index.html           |  8 ++++----
 blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html |  8 ++++----
 blog/2021/07/06/celebrate-200-contributors/index.html          |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply/index.html   |  8 ++++----
 blog/index.html                                                |  8 ++++----
 blog/page/2/index.html                                         |  8 ++++----
 blog/page/3/index.html                                         |  8 ++++----
 docs/apisix/2.4/FAQ/index.html                                 |  8 ++++----
 docs/apisix/2.4/IGNORE_DOC/index.html                          |  8 ++++----
 docs/apisix/2.4/admin-api/index.html                           |  8 ++++----
 docs/apisix/2.4/architecture-design/index.html                 |  8 ++++----
 docs/apisix/2.4/aws/index.html                                 |  8 ++++----
 docs/apisix/2.4/batch-processor/index.html                     |  8 ++++----
 docs/apisix/2.4/benchmark/index.html                           |  8 ++++----
 docs/apisix/2.4/control-api/index.html                         |  8 ++++----
 docs/apisix/2.4/customize-nginx-configuration/index.html       |  8 ++++----
 docs/apisix/2.4/debug-function/index.html                      |  8 ++++----
 docs/apisix/2.4/discovery/consul_kv/index.html                 |  8 ++++----
 docs/apisix/2.4/discovery/index.html                           |  8 ++++----
 docs/apisix/2.4/dns/index.html                                 |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html   |  8 ++++----
 docs/apisix/2.4/getting-started/index.html                     |  8 ++++----
 docs/apisix/2.4/grpc-proxy/index.html                          |  8 ++++----
 docs/apisix/2.4/health-check/index.html                        |  8 ++++----
 docs/apisix/2.4/how-to-build/index.html                        |  8 ++++----
 docs/apisix/2.4/https/index.html                               |  8 ++++----
 docs/apisix/2.4/install-dependencies/index.html                |  8 ++++----
 docs/apisix/2.4/mtls/index.html                                |  8 ++++----
 docs/apisix/2.4/plugin-develop/index.html                      |  8 ++++----
 docs/apisix/2.4/plugin-interceptors/index.html                 |  8 ++++----
 docs/apisix/2.4/plugins/api-breaker/index.html                 |  8 ++++----
 docs/apisix/2.4/plugins/authz-keycloak/index.html              |  8 ++++----
 docs/apisix/2.4/plugins/basic-auth/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/batch-requests/index.html              |  8 ++++----
 docs/apisix/2.4/plugins/consumer-restriction/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/cors/index.html                        |  8 ++++----
 docs/apisix/2.4/plugins/dubbo-proxy/index.html                 |  8 ++++----
 docs/apisix/2.4/plugins/echo/index.html                        |  8 ++++----
 docs/apisix/2.4/plugins/error-log-logger/index.html            |  8 ++++----
 docs/apisix/2.4/plugins/fault-injection/index.html             |  8 ++++----
 docs/apisix/2.4/plugins/grpc-transcode/index.html              |  8 ++++----
 docs/apisix/2.4/plugins/hmac-auth/index.html                   |  8 ++++----
 docs/apisix/2.4/plugins/http-logger/index.html                 |  8 ++++----
 docs/apisix/2.4/plugins/index.html                             |  8 ++++----
 docs/apisix/2.4/plugins/ip-restriction/index.html              |  8 ++++----
 docs/apisix/2.4/plugins/jwt-auth/index.html                    |  8 ++++----
 docs/apisix/2.4/plugins/kafka-logger/index.html                |  8 ++++----
 docs/apisix/2.4/plugins/key-auth/index.html                    |  8 ++++----
 docs/apisix/2.4/plugins/limit-conn/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/limit-count/index.html                 |  8 ++++----
 docs/apisix/2.4/plugins/limit-req/index.html                   |  8 ++++----
 docs/apisix/2.4/plugins/log-rotate/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/mqtt-proxy/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/node-status/index.html                 |  8 ++++----
 docs/apisix/2.4/plugins/openid-connect/index.html              |  8 ++++----
 docs/apisix/2.4/plugins/prometheus/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/proxy-cache/index.html                 |  8 ++++----
 docs/apisix/2.4/plugins/proxy-mirror/index.html                |  8 ++++----
 docs/apisix/2.4/plugins/proxy-rewrite/index.html               |  8 ++++----
 docs/apisix/2.4/plugins/redirect/index.html                    |  8 ++++----
 docs/apisix/2.4/plugins/referer-restriction/index.html         |  8 ++++----
 docs/apisix/2.4/plugins/request-id/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/request-validation/index.html          |  8 ++++----
 docs/apisix/2.4/plugins/response-rewrite/index.html            |  8 ++++----
 docs/apisix/2.4/plugins/server-info/index.html                 |  8 ++++----
 docs/apisix/2.4/plugins/serverless/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/skywalking/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/sls-logger/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/syslog/index.html                      |  8 ++++----
 docs/apisix/2.4/plugins/tcp-logger/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/traffic-split/index.html               |  8 ++++----
 docs/apisix/2.4/plugins/udp-logger/index.html                  |  8 ++++----
 docs/apisix/2.4/plugins/uri-blocker/index.html                 |  8 ++++----
 docs/apisix/2.4/plugins/wolf-rbac/index.html                   |  8 ++++----
 docs/apisix/2.4/plugins/zipkin/index.html                      |  8 ++++----
 docs/apisix/2.4/powered-by/index.html                          |  8 ++++----
 docs/apisix/2.4/profile/index.html                             |  8 ++++----
 docs/apisix/2.4/router-radixtree/index.html                    |  8 ++++----
 docs/apisix/2.4/stand-alone/index.html                         |  8 ++++----
 docs/apisix/2.4/stream-proxy/index.html                        |  8 ++++----
 docs/apisix/2.5/FAQ/index.html                                 |  8 ++++----
 docs/apisix/2.5/IGNORE_DOC/index.html                          |  8 ++++----
 docs/apisix/2.5/admin-api/index.html                           |  8 ++++----
 docs/apisix/2.5/architecture-design/apisix/index.html          |  8 ++++----
 docs/apisix/2.5/architecture-design/consumer/index.html        |  8 ++++----
 docs/apisix/2.5/architecture-design/debug-mode/index.html      |  8 ++++----
 docs/apisix/2.5/architecture-design/global-rule/index.html     |  8 ++++----
 docs/apisix/2.5/architecture-design/index.html                 |  8 ++++----
 docs/apisix/2.5/architecture-design/plugin-config/index.html   |  8 ++++----
 docs/apisix/2.5/architecture-design/plugin/index.html          |  8 ++++----
 docs/apisix/2.5/architecture-design/route/index.html           |  8 ++++----
 docs/apisix/2.5/architecture-design/router/index.html          |  8 ++++----
 docs/apisix/2.5/architecture-design/script/index.html          |  8 ++++----
 docs/apisix/2.5/architecture-design/service/index.html         |  8 ++++----
 docs/apisix/2.5/architecture-design/upstream/index.html        |  8 ++++----
 docs/apisix/2.5/aws/index.html                                 |  8 ++++----
 docs/apisix/2.5/batch-processor/index.html                     |  8 ++++----
 docs/apisix/2.5/benchmark/index.html                           |  8 ++++----
 docs/apisix/2.5/control-api/index.html                         |  8 ++++----
 docs/apisix/2.5/customize-nginx-configuration/index.html       |  8 ++++----
 docs/apisix/2.5/debug-function/index.html                      |  8 ++++----
 docs/apisix/2.5/discovery/consul_kv/index.html                 |  8 ++++----
 docs/apisix/2.5/discovery/dns/index.html                       |  8 ++++----
 docs/apisix/2.5/discovery/index.html                           |  8 ++++----
 docs/apisix/2.5/dns/index.html                                 |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html   |  8 ++++----
 docs/apisix/2.5/getting-started/index.html                     |  8 ++++----
 docs/apisix/2.5/grpc-proxy/index.html                          |  8 ++++----
 docs/apisix/2.5/health-check/index.html                        |  8 ++++----
 docs/apisix/2.5/how-to-build/index.html                        |  8 ++++----
 docs/apisix/2.5/https/index.html                               |  8 ++++----
 docs/apisix/2.5/install-dependencies/index.html                |  8 ++++----
 docs/apisix/2.5/mtls/index.html                                |  8 ++++----
 docs/apisix/2.5/plugin-develop/index.html                      |  8 ++++----
 docs/apisix/2.5/plugin-interceptors/index.html                 |  8 ++++----
 docs/apisix/2.5/plugins/api-breaker/index.html                 |  8 ++++----
 docs/apisix/2.5/plugins/authz-keycloak/index.html              |  8 ++++----
 docs/apisix/2.5/plugins/basic-auth/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/batch-requests/index.html              |  8 ++++----
 docs/apisix/2.5/plugins/consumer-restriction/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/cors/index.html                        |  8 ++++----
 docs/apisix/2.5/plugins/dubbo-proxy/index.html                 |  8 ++++----
 docs/apisix/2.5/plugins/echo/index.html                        |  8 ++++----
 docs/apisix/2.5/plugins/error-log-logger/index.html            |  8 ++++----
 docs/apisix/2.5/plugins/fault-injection/index.html             |  8 ++++----
 docs/apisix/2.5/plugins/grpc-transcode/index.html              |  8 ++++----
 docs/apisix/2.5/plugins/hmac-auth/index.html                   |  8 ++++----
 docs/apisix/2.5/plugins/http-logger/index.html                 |  8 ++++----
 docs/apisix/2.5/plugins/index.html                             |  8 ++++----
 docs/apisix/2.5/plugins/ip-restriction/index.html              |  8 ++++----
 docs/apisix/2.5/plugins/jwt-auth/index.html                    |  8 ++++----
 docs/apisix/2.5/plugins/kafka-logger/index.html                |  8 ++++----
 docs/apisix/2.5/plugins/key-auth/index.html                    |  8 ++++----
 docs/apisix/2.5/plugins/limit-conn/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/limit-count/index.html                 |  8 ++++----
 docs/apisix/2.5/plugins/limit-req/index.html                   |  8 ++++----
 docs/apisix/2.5/plugins/log-rotate/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/mqtt-proxy/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/node-status/index.html                 |  8 ++++----
 docs/apisix/2.5/plugins/openid-connect/index.html              |  8 ++++----
 docs/apisix/2.5/plugins/prometheus/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/proxy-cache/index.html                 |  8 ++++----
 docs/apisix/2.5/plugins/proxy-mirror/index.html                |  8 ++++----
 docs/apisix/2.5/plugins/proxy-rewrite/index.html               |  8 ++++----
 docs/apisix/2.5/plugins/redirect/index.html                    |  8 ++++----
 docs/apisix/2.5/plugins/referer-restriction/index.html         |  8 ++++----
 docs/apisix/2.5/plugins/request-id/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/request-validation/index.html          |  8 ++++----
 docs/apisix/2.5/plugins/response-rewrite/index.html            |  8 ++++----
 docs/apisix/2.5/plugins/server-info/index.html                 |  8 ++++----
 docs/apisix/2.5/plugins/serverless/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/skywalking/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/sls-logger/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/syslog/index.html                      |  8 ++++----
 docs/apisix/2.5/plugins/tcp-logger/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/traffic-split/index.html               |  8 ++++----
 docs/apisix/2.5/plugins/udp-logger/index.html                  |  8 ++++----
 docs/apisix/2.5/plugins/uri-blocker/index.html                 |  8 ++++----
 docs/apisix/2.5/plugins/wolf-rbac/index.html                   |  8 ++++----
 docs/apisix/2.5/plugins/zipkin/index.html                      |  8 ++++----
 docs/apisix/2.5/powered-by/index.html                          |  8 ++++----
 docs/apisix/2.5/profile/index.html                             |  8 ++++----
 docs/apisix/2.5/router-radixtree/index.html                    |  8 ++++----
 docs/apisix/2.5/stand-alone/index.html                         |  8 ++++----
 docs/apisix/2.5/stream-proxy/index.html                        |  8 ++++----
 docs/apisix/2.6/FAQ/index.html                                 |  8 ++++----
 docs/apisix/2.6/IGNORE_DOC/index.html                          |  8 ++++----
 docs/apisix/2.6/admin-api/index.html                           |  8 ++++----
 docs/apisix/2.6/architecture-design/apisix/index.html          |  8 ++++----
 docs/apisix/2.6/architecture-design/consumer/index.html        |  8 ++++----
 docs/apisix/2.6/architecture-design/debug-mode/index.html      |  8 ++++----
 docs/apisix/2.6/architecture-design/global-rule/index.html     |  8 ++++----
 docs/apisix/2.6/architecture-design/index.html                 |  8 ++++----
 docs/apisix/2.6/architecture-design/plugin-config/index.html   |  8 ++++----
 docs/apisix/2.6/architecture-design/plugin/index.html          |  8 ++++----
 docs/apisix/2.6/architecture-design/route/index.html           |  8 ++++----
 docs/apisix/2.6/architecture-design/router/index.html          |  8 ++++----
 docs/apisix/2.6/architecture-design/script/index.html          |  8 ++++----
 docs/apisix/2.6/architecture-design/service/index.html         |  8 ++++----
 docs/apisix/2.6/architecture-design/upstream/index.html        |  8 ++++----
 docs/apisix/2.6/aws/index.html                                 |  8 ++++----
 docs/apisix/2.6/batch-processor/index.html                     |  8 ++++----
 docs/apisix/2.6/benchmark/index.html                           |  8 ++++----
 docs/apisix/2.6/control-api/index.html                         |  8 ++++----
 docs/apisix/2.6/customize-nginx-configuration/index.html       |  8 ++++----
 docs/apisix/2.6/debug-function/index.html                      |  8 ++++----
 docs/apisix/2.6/discovery/consul_kv/index.html                 |  8 ++++----
 docs/apisix/2.6/discovery/dns/index.html                       |  8 ++++----
 docs/apisix/2.6/discovery/eureka/index.html                    |  8 ++++----
 docs/apisix/2.6/discovery/index.html                           |  8 ++++----
 docs/apisix/2.6/discovery/nacos/index.html                     |  8 ++++----
 docs/apisix/2.6/dns/index.html                                 |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html   |  8 ++++----
 docs/apisix/2.6/getting-started/index.html                     |  8 ++++----
 docs/apisix/2.6/grpc-proxy/index.html                          |  8 ++++----
 docs/apisix/2.6/health-check/index.html                        |  8 ++++----
 docs/apisix/2.6/how-to-build/index.html                        |  8 ++++----
 docs/apisix/2.6/https/index.html                               |  8 ++++----
 docs/apisix/2.6/install-dependencies/index.html                |  8 ++++----
 docs/apisix/2.6/mtls/index.html                                |  8 ++++----
 docs/apisix/2.6/plugin-develop/index.html                      |  8 ++++----
 docs/apisix/2.6/plugin-interceptors/index.html                 |  8 ++++----
 docs/apisix/2.6/plugins/api-breaker/index.html                 |  8 ++++----
 docs/apisix/2.6/plugins/authz-keycloak/index.html              |  8 ++++----
 docs/apisix/2.6/plugins/basic-auth/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/batch-requests/index.html              |  8 ++++----
 docs/apisix/2.6/plugins/consumer-restriction/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/cors/index.html                        |  8 ++++----
 docs/apisix/2.6/plugins/dubbo-proxy/index.html                 |  8 ++++----
 docs/apisix/2.6/plugins/echo/index.html                        |  8 ++++----
 docs/apisix/2.6/plugins/error-log-logger/index.html            |  8 ++++----
 docs/apisix/2.6/plugins/fault-injection/index.html             |  8 ++++----
 docs/apisix/2.6/plugins/grpc-transcode/index.html              |  8 ++++----
 docs/apisix/2.6/plugins/hmac-auth/index.html                   |  8 ++++----
 docs/apisix/2.6/plugins/http-logger/index.html                 |  8 ++++----
 docs/apisix/2.6/plugins/index.html                             |  8 ++++----
 docs/apisix/2.6/plugins/ip-restriction/index.html              |  8 ++++----
 docs/apisix/2.6/plugins/jwt-auth/index.html                    |  8 ++++----
 docs/apisix/2.6/plugins/kafka-logger/index.html                |  8 ++++----
 docs/apisix/2.6/plugins/key-auth/index.html                    |  8 ++++----
 docs/apisix/2.6/plugins/limit-conn/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/limit-count/index.html                 |  8 ++++----
 docs/apisix/2.6/plugins/limit-req/index.html                   |  8 ++++----
 docs/apisix/2.6/plugins/log-rotate/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/mqtt-proxy/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/node-status/index.html                 |  8 ++++----
 docs/apisix/2.6/plugins/openid-connect/index.html              |  8 ++++----
 docs/apisix/2.6/plugins/prometheus/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/proxy-cache/index.html                 |  8 ++++----
 docs/apisix/2.6/plugins/proxy-mirror/index.html                |  8 ++++----
 docs/apisix/2.6/plugins/proxy-rewrite/index.html               |  8 ++++----
 docs/apisix/2.6/plugins/redirect/index.html                    |  8 ++++----
 docs/apisix/2.6/plugins/referer-restriction/index.html         |  8 ++++----
 docs/apisix/2.6/plugins/request-id/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/request-validation/index.html          |  8 ++++----
 docs/apisix/2.6/plugins/response-rewrite/index.html            |  8 ++++----
 docs/apisix/2.6/plugins/server-info/index.html                 |  8 ++++----
 docs/apisix/2.6/plugins/serverless/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/skywalking/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/sls-logger/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/syslog/index.html                      |  8 ++++----
 docs/apisix/2.6/plugins/tcp-logger/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/traffic-split/index.html               |  8 ++++----
 docs/apisix/2.6/plugins/udp-logger/index.html                  |  8 ++++----
 docs/apisix/2.6/plugins/uri-blocker/index.html                 |  8 ++++----
 docs/apisix/2.6/plugins/wolf-rbac/index.html                   |  8 ++++----
 docs/apisix/2.6/plugins/zipkin/index.html                      |  8 ++++----
 docs/apisix/2.6/powered-by/index.html                          |  8 ++++----
 docs/apisix/2.6/profile/index.html                             |  8 ++++----
 docs/apisix/2.6/router-radixtree/index.html                    |  8 ++++----
 docs/apisix/2.6/stand-alone/index.html                         |  8 ++++----
 docs/apisix/2.6/stream-proxy/index.html                        |  8 ++++----
 docs/apisix/FAQ/index.html                                     |  8 ++++----
 docs/apisix/IGNORE_DOC/index.html                              |  8 ++++----
 docs/apisix/admin-api/index.html                               |  8 ++++----
 docs/apisix/architecture-design/apisix/index.html              |  8 ++++----
 docs/apisix/architecture-design/consumer/index.html            |  8 ++++----
 docs/apisix/architecture-design/debug-mode/index.html          |  8 ++++----
 docs/apisix/architecture-design/global-rule/index.html         |  8 ++++----
 docs/apisix/architecture-design/index.html                     |  8 ++++----
 docs/apisix/architecture-design/plugin-config/index.html       |  8 ++++----
 docs/apisix/architecture-design/plugin/index.html              |  8 ++++----
 docs/apisix/architecture-design/route/index.html               |  8 ++++----
 docs/apisix/architecture-design/router/index.html              |  8 ++++----
 docs/apisix/architecture-design/script/index.html              |  8 ++++----
 docs/apisix/architecture-design/service/index.html             |  8 ++++----
 docs/apisix/architecture-design/upstream/index.html            |  8 ++++----
 docs/apisix/aws/index.html                                     |  8 ++++----
 docs/apisix/batch-processor/index.html                         |  8 ++++----
 docs/apisix/benchmark/index.html                               |  8 ++++----
 docs/apisix/certificate/index.html                             |  8 ++++----
 docs/apisix/control-api/index.html                             |  8 ++++----
 docs/apisix/customize-nginx-configuration/index.html           |  8 ++++----
 docs/apisix/debug-function/index.html                          |  8 ++++----
 docs/apisix/discovery/consul_kv/index.html                     |  8 ++++----
 docs/apisix/discovery/dns/index.html                           |  8 ++++----
 docs/apisix/discovery/eureka/index.html                        |  8 ++++----
 docs/apisix/discovery/index.html                               |  8 ++++----
 docs/apisix/discovery/nacos/index.html                         |  8 ++++----
 docs/apisix/dns/index.html                                     |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html   |  8 ++++----
 docs/apisix/external-plugin/index.html                         |  8 ++++----
 docs/apisix/getting-started/index.html                         |  8 ++++----
 docs/apisix/grpc-proxy/index.html                              |  8 ++++----
 docs/apisix/health-check/index.html                            |  8 ++++----
 docs/apisix/how-to-build/index.html                            |  8 ++++----
 docs/apisix/https/index.html                                   |  8 ++++----
 docs/apisix/install-dependencies/index.html                    |  8 ++++----
 docs/apisix/mtls/index.html                                    |  8 ++++----
 docs/apisix/next/FAQ/index.html                                |  8 ++++----
 docs/apisix/next/IGNORE_DOC/index.html                         | 10 +++++-----
 docs/apisix/next/admin-api/index.html                          |  8 ++++----
 docs/apisix/next/architecture-design/apisix/index.html         |  8 ++++----
 docs/apisix/next/architecture-design/consumer/index.html       |  8 ++++----
 docs/apisix/next/architecture-design/debug-mode/index.html     |  8 ++++----
 docs/apisix/next/architecture-design/global-rule/index.html    |  8 ++++----
 docs/apisix/next/architecture-design/index.html                |  8 ++++----
 docs/apisix/next/architecture-design/plugin-config/index.html  |  8 ++++----
 docs/apisix/next/architecture-design/plugin/index.html         |  8 ++++----
 docs/apisix/next/architecture-design/route/index.html          |  8 ++++----
 docs/apisix/next/architecture-design/router/index.html         |  8 ++++----
 docs/apisix/next/architecture-design/script/index.html         |  8 ++++----
 docs/apisix/next/architecture-design/service/index.html        |  8 ++++----
 docs/apisix/next/architecture-design/upstream/index.html       |  8 ++++----
 docs/apisix/next/aws/index.html                                |  8 ++++----
 docs/apisix/next/batch-processor/index.html                    |  8 ++++----
 docs/apisix/next/benchmark/index.html                          |  8 ++++----
 docs/apisix/next/certificate/index.html                        |  8 ++++----
 docs/apisix/next/control-api/index.html                        |  8 ++++----
 docs/apisix/next/customize-nginx-configuration/index.html      |  8 ++++----
 docs/apisix/next/debug-function/index.html                     |  8 ++++----
 docs/apisix/next/discovery/consul_kv/index.html                |  8 ++++----
 docs/apisix/next/discovery/dns/index.html                      |  8 ++++----
 docs/apisix/next/discovery/eureka/index.html                   |  8 ++++----
 docs/apisix/next/discovery/index.html                          |  8 ++++----
 docs/apisix/next/discovery/nacos/index.html                    |  8 ++++----
 docs/apisix/next/dns/index.html                                |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html   |  8 ++++----
 docs/apisix/next/external-plugin/index.html                    |  8 ++++----
 docs/apisix/next/getting-started/index.html                    |  8 ++++----
 docs/apisix/next/grpc-proxy/index.html                         |  8 ++++----
 docs/apisix/next/health-check/index.html                       |  8 ++++----
 docs/apisix/next/how-to-build/index.html                       |  8 ++++----
 docs/apisix/next/https/index.html                              |  8 ++++----
 docs/apisix/next/install-dependencies/index.html               |  8 ++++----
 docs/apisix/next/mtls/index.html                               |  8 ++++----
 docs/apisix/next/plugin-develop/index.html                     |  8 ++++----
 docs/apisix/next/plugin-interceptors/index.html                |  8 ++++----
 docs/apisix/next/plugins/api-breaker/index.html                |  8 ++++----
 docs/apisix/next/plugins/authz-keycloak/index.html             |  8 ++++----
 docs/apisix/next/plugins/basic-auth/index.html                 |  8 ++++----
 docs/apisix/next/plugins/batch-requests/index.html             |  8 ++++----
 docs/apisix/next/plugins/client-control/index.html             |  8 ++++----
 docs/apisix/next/plugins/consumer-restriction/index.html       |  8 ++++----
 docs/apisix/next/plugins/cors/index.html                       |  8 ++++----
 docs/apisix/next/plugins/dubbo-proxy/index.html                |  8 ++++----
 docs/apisix/next/plugins/echo/index.html                       |  8 ++++----
 docs/apisix/next/plugins/error-log-logger/index.html           |  8 ++++----
 docs/apisix/next/plugins/ext-plugin-post-req/index.html        |  8 ++++----
 docs/apisix/next/plugins/ext-plugin-pre-req/index.html         |  8 ++++----
 docs/apisix/next/plugins/fault-injection/index.html            |  8 ++++----
 docs/apisix/next/plugins/grpc-transcode/index.html             |  8 ++++----
 docs/apisix/next/plugins/hmac-auth/index.html                  |  8 ++++----
 docs/apisix/next/plugins/http-logger/index.html                |  8 ++++----
 docs/apisix/next/plugins/index.html                            |  8 ++++----
 docs/apisix/next/plugins/ip-restriction/index.html             |  8 ++++----
 docs/apisix/next/plugins/jwt-auth/index.html                   |  8 ++++----
 docs/apisix/next/plugins/kafka-logger/index.html               |  8 ++++----
 docs/apisix/next/plugins/key-auth/index.html                   |  8 ++++----
 docs/apisix/next/plugins/limit-conn/index.html                 |  8 ++++----
 docs/apisix/next/plugins/limit-count/index.html                |  8 ++++----
 docs/apisix/next/plugins/limit-req/index.html                  |  8 ++++----
 docs/apisix/next/plugins/log-rotate/index.html                 |  8 ++++----
 docs/apisix/next/plugins/mqtt-proxy/index.html                 |  8 ++++----
 docs/apisix/next/plugins/node-status/index.html                |  8 ++++----
 docs/apisix/next/plugins/openid-connect/index.html             |  8 ++++----
 docs/apisix/next/plugins/prometheus/index.html                 |  8 ++++----
 docs/apisix/next/plugins/proxy-cache/index.html                |  8 ++++----
 docs/apisix/next/plugins/proxy-mirror/index.html               |  8 ++++----
 docs/apisix/next/plugins/proxy-rewrite/index.html              |  8 ++++----
 docs/apisix/next/plugins/redirect/index.html                   |  8 ++++----
 docs/apisix/next/plugins/referer-restriction/index.html        |  8 ++++----
 docs/apisix/next/plugins/request-id/index.html                 |  8 ++++----
 docs/apisix/next/plugins/request-validation/index.html         |  8 ++++----
 docs/apisix/next/plugins/response-rewrite/index.html           |  8 ++++----
 docs/apisix/next/plugins/server-info/index.html                |  8 ++++----
 docs/apisix/next/plugins/serverless/index.html                 |  8 ++++----
 docs/apisix/next/plugins/skywalking/index.html                 |  8 ++++----
 docs/apisix/next/plugins/sls-logger/index.html                 |  8 ++++----
 docs/apisix/next/plugins/syslog/index.html                     |  8 ++++----
 docs/apisix/next/plugins/tcp-logger/index.html                 |  8 ++++----
 docs/apisix/next/plugins/traffic-split/index.html              |  8 ++++----
 docs/apisix/next/plugins/udp-logger/index.html                 |  8 ++++----
 docs/apisix/next/plugins/uri-blocker/index.html                |  8 ++++----
 docs/apisix/next/plugins/wolf-rbac/index.html                  |  8 ++++----
 docs/apisix/next/plugins/zipkin/index.html                     |  8 ++++----
 docs/apisix/next/powered-by/index.html                         |  8 ++++----
 docs/apisix/next/profile/index.html                            |  8 ++++----
 docs/apisix/next/router-radixtree/index.html                   |  8 ++++----
 docs/apisix/next/stand-alone/index.html                        |  8 ++++----
 docs/apisix/next/stream-proxy/index.html                       |  8 ++++----
 docs/apisix/plugin-develop/index.html                          |  8 ++++----
 docs/apisix/plugin-interceptors/index.html                     |  8 ++++----
 docs/apisix/plugins/api-breaker/index.html                     |  8 ++++----
 docs/apisix/plugins/authz-keycloak/index.html                  |  8 ++++----
 docs/apisix/plugins/basic-auth/index.html                      |  8 ++++----
 docs/apisix/plugins/batch-requests/index.html                  |  8 ++++----
 docs/apisix/plugins/client-control/index.html                  |  8 ++++----
 docs/apisix/plugins/consumer-restriction/index.html            |  8 ++++----
 docs/apisix/plugins/cors/index.html                            |  8 ++++----
 docs/apisix/plugins/dubbo-proxy/index.html                     |  8 ++++----
 docs/apisix/plugins/echo/index.html                            |  8 ++++----
 docs/apisix/plugins/error-log-logger/index.html                |  8 ++++----
 docs/apisix/plugins/ext-plugin-post-req/index.html             |  8 ++++----
 docs/apisix/plugins/ext-plugin-pre-req/index.html              |  8 ++++----
 docs/apisix/plugins/fault-injection/index.html                 |  8 ++++----
 docs/apisix/plugins/grpc-transcode/index.html                  |  8 ++++----
 docs/apisix/plugins/hmac-auth/index.html                       |  8 ++++----
 docs/apisix/plugins/http-logger/index.html                     |  8 ++++----
 docs/apisix/plugins/index.html                                 |  8 ++++----
 docs/apisix/plugins/ip-restriction/index.html                  |  8 ++++----
 docs/apisix/plugins/jwt-auth/index.html                        |  8 ++++----
 docs/apisix/plugins/kafka-logger/index.html                    |  8 ++++----
 docs/apisix/plugins/key-auth/index.html                        |  8 ++++----
 docs/apisix/plugins/limit-conn/index.html                      |  8 ++++----
 docs/apisix/plugins/limit-count/index.html                     |  8 ++++----
 docs/apisix/plugins/limit-req/index.html                       |  8 ++++----
 docs/apisix/plugins/log-rotate/index.html                      |  8 ++++----
 docs/apisix/plugins/mqtt-proxy/index.html                      |  8 ++++----
 docs/apisix/plugins/node-status/index.html                     |  8 ++++----
 docs/apisix/plugins/openid-connect/index.html                  |  8 ++++----
 docs/apisix/plugins/prometheus/index.html                      |  8 ++++----
 docs/apisix/plugins/proxy-cache/index.html                     |  8 ++++----
 docs/apisix/plugins/proxy-mirror/index.html                    |  8 ++++----
 docs/apisix/plugins/proxy-rewrite/index.html                   |  8 ++++----
 docs/apisix/plugins/redirect/index.html                        |  8 ++++----
 docs/apisix/plugins/referer-restriction/index.html             |  8 ++++----
 docs/apisix/plugins/request-id/index.html                      |  8 ++++----
 docs/apisix/plugins/request-validation/index.html              |  8 ++++----
 docs/apisix/plugins/response-rewrite/index.html                |  8 ++++----
 docs/apisix/plugins/server-info/index.html                     |  8 ++++----
 docs/apisix/plugins/serverless/index.html                      |  8 ++++----
 docs/apisix/plugins/skywalking/index.html                      |  8 ++++----
 docs/apisix/plugins/sls-logger/index.html                      |  8 ++++----
 docs/apisix/plugins/syslog/index.html                          |  8 ++++----
 docs/apisix/plugins/tcp-logger/index.html                      |  8 ++++----
 docs/apisix/plugins/traffic-split/index.html                   |  8 ++++----
 docs/apisix/plugins/udp-logger/index.html                      |  8 ++++----
 docs/apisix/plugins/uri-blocker/index.html                     |  8 ++++----
 docs/apisix/plugins/wolf-rbac/index.html                       |  8 ++++----
 docs/apisix/plugins/zipkin/index.html                          |  8 ++++----
 docs/apisix/powered-by/index.html                              |  8 ++++----
 docs/apisix/profile/index.html                                 |  8 ++++----
 docs/apisix/router-radixtree/index.html                        |  8 ++++----
 docs/apisix/stand-alone/index.html                             |  8 ++++----
 docs/apisix/stream-proxy/index.html                            |  8 ++++----
 docs/dashboard/2.5/FAQ/index.html                              |  8 ++++----
 docs/dashboard/2.5/I18N_USER_GUIDE/index.html                  |  8 ++++----
 docs/dashboard/2.5/IGNORE_DOC/index.html                       |  8 ++++----
 docs/dashboard/2.5/IMPORT_OPENAPI_USER_GUIDE/index.html        |  8 ++++----
 docs/dashboard/2.5/USER_GUIDE/index.html                       |  8 ++++----
 docs/dashboard/2.5/api/api/index.html                          |  8 ++++----
 docs/dashboard/2.5/back-end-tests/index.html                   |  8 ++++----
 docs/dashboard/2.5/deploy-with-docker/index.html               |  8 ++++----
 docs/dashboard/2.5/deploy-with-rpm/index.html                  |  8 ++++----
 docs/dashboard/2.5/deploy/index.html                           |  8 ++++----
 docs/dashboard/2.5/develop/index.html                          |  8 ++++----
 docs/dashboard/2.5/front-end-e2e/index.html                    |  8 ++++----
 docs/dashboard/2.6.1/FAQ/index.html                            |  8 ++++----
 docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html                |  8 ++++----
 docs/dashboard/2.6.1/IGNORE_DOC/index.html                     |  8 ++++----
 docs/dashboard/2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html      |  8 ++++----
 docs/dashboard/2.6.1/USER_GUIDE/index.html                     |  8 ++++----
 docs/dashboard/2.6.1/api/api/index.html                        |  8 ++++----
 docs/dashboard/2.6.1/back-end-tests/index.html                 |  8 ++++----
 docs/dashboard/2.6.1/deploy-with-docker/index.html             |  8 ++++----
 docs/dashboard/2.6.1/deploy-with-rpm/index.html                |  8 ++++----
 docs/dashboard/2.6.1/deploy/index.html                         |  8 ++++----
 docs/dashboard/2.6.1/develop/index.html                        |  8 ++++----
 docs/dashboard/2.6.1/front-end-e2e/index.html                  |  8 ++++----
 docs/dashboard/2.6/FAQ/index.html                              |  8 ++++----
 docs/dashboard/2.6/I18N_USER_GUIDE/index.html                  |  8 ++++----
 docs/dashboard/2.6/IGNORE_DOC/index.html                       |  8 ++++----
 docs/dashboard/2.6/IMPORT_OPENAPI_USER_GUIDE/index.html        |  8 ++++----
 docs/dashboard/2.6/USER_GUIDE/index.html                       |  8 ++++----
 docs/dashboard/2.6/api/api/index.html                          |  8 ++++----
 docs/dashboard/2.6/back-end-tests/index.html                   |  8 ++++----
 docs/dashboard/2.6/deploy-with-docker/index.html               |  8 ++++----
 docs/dashboard/2.6/deploy-with-rpm/index.html                  |  8 ++++----
 docs/dashboard/2.6/deploy/index.html                           |  8 ++++----
 docs/dashboard/2.6/develop/index.html                          |  8 ++++----
 docs/dashboard/2.6/front-end-e2e/index.html                    |  8 ++++----
 docs/dashboard/FAQ/index.html                                  |  8 ++++----
 docs/dashboard/I18N_USER_GUIDE/index.html                      |  8 ++++----
 docs/dashboard/IGNORE_DOC/index.html                           |  8 ++++----
 docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html            |  8 ++++----
 docs/dashboard/USER_GUIDE/index.html                           |  8 ++++----
 docs/dashboard/api/api/index.html                              |  8 ++++----
 docs/dashboard/back-end-tests/index.html                       |  8 ++++----
 docs/dashboard/deploy-with-docker/index.html                   |  8 ++++----
 docs/dashboard/deploy-with-rpm/index.html                      |  8 ++++----
 docs/dashboard/deploy/index.html                               |  8 ++++----
 docs/dashboard/develop/index.html                              |  8 ++++----
 docs/dashboard/front-end-e2e/index.html                        |  8 ++++----
 docs/dashboard/next/FAQ/index.html                             |  8 ++++----
 docs/dashboard/next/I18N_USER_GUIDE/index.html                 |  8 ++++----
 docs/dashboard/next/IGNORE_DOC/index.html                      | 10 +++++-----
 docs/dashboard/next/IMPORT_OPENAPI_USER_GUIDE/index.html       |  8 ++++----
 docs/dashboard/next/USER_GUIDE/index.html                      |  8 ++++----
 docs/dashboard/next/api/api/index.html                         |  8 ++++----
 docs/dashboard/next/back-end-tests/index.html                  |  8 ++++----
 docs/dashboard/next/deploy-with-docker/index.html              |  8 ++++----
 docs/dashboard/next/deploy-with-rpm/index.html                 |  8 ++++----
 docs/dashboard/next/deploy/index.html                          |  8 ++++----
 docs/dashboard/next/develop/index.html                         |  8 ++++----
 docs/dashboard/next/front-end-e2e/index.html                   |  8 ++++----
 docs/docker/IGNORE_DOC/index.html                              | 10 +++++-----
 docs/docker/build/index.html                                   |  8 ++++----
 docs/docker/example/index.html                                 |  8 ++++----
 docs/docker/manual/index.html                                  |  8 ++++----
 docs/general/2fa/index.html                                    | 10 +++++-----
 docs/general/committer-guide/index.html                        | 10 +++++-----
 docs/general/contributor-guide/index.html                      | 10 +++++-----
 docs/general/integrate-with-project-docs/index.html            | 10 +++++-----
 docs/general/release-guide/index.html                          | 10 +++++-----
 docs/general/security/index.html                               | 10 +++++-----
 docs/general/subscribe-guide/index.html                        | 10 +++++-----
 docs/go-plugin-runner/IGNORE_DOC/index.html                    |  8 ++++----
 docs/go-plugin-runner/developer-guide/index.html               |  8 ++++----
 docs/go-plugin-runner/getting-started/index.html               |  8 ++++----
 docs/go-plugin-runner/next/IGNORE_DOC/index.html               | 10 +++++-----
 docs/go-plugin-runner/next/developer-guide/index.html          |  8 ++++----
 docs/go-plugin-runner/next/getting-started/index.html          |  8 ++++----
 docs/helm-chart/IGNORE_DOC/index.html                          | 10 +++++-----
 docs/helm-chart/apisix-dashboard/index.html                    |  8 ++++----
 docs/helm-chart/apisix-ingress-controller/index.html           |  8 ++++----
 docs/helm-chart/apisix/index.html                              |  8 ++++----
 docs/index.html                                                |  8 ++++----
 docs/ingress-controller/FAQ/index.html                         |  8 ++++----
 docs/ingress-controller/IGNORE_DOC/index.html                  | 10 +++++-----
 docs/ingress-controller/concepts/annotations/index.html        |  8 ++++----
 .../concepts/apisix_cluster_config/index.html                  |  8 ++++----
 docs/ingress-controller/concepts/apisix_route/index.html       |  8 ++++----
 docs/ingress-controller/concepts/apisix_tls/index.html         |  8 ++++----
 docs/ingress-controller/concepts/apisix_upstream/index.html    |  8 ++++----
 docs/ingress-controller/contribute/index.html                  |  8 ++++----
 docs/ingress-controller/deployments/ack/index.html             |  8 ++++----
 docs/ingress-controller/deployments/aws/index.html             |  8 ++++----
 docs/ingress-controller/deployments/azure/index.html           |  8 ++++----
 docs/ingress-controller/deployments/gke/index.html             |  8 ++++----
 docs/ingress-controller/deployments/k3s-rke/index.html         |  8 ++++----
 docs/ingress-controller/deployments/kubesphere/index.html      |  8 ++++----
 docs/ingress-controller/deployments/minikube/index.html        |  8 ++++----
 docs/ingress-controller/deployments/tke/index.html             |  8 ++++----
 docs/ingress-controller/design/index.html                      |  8 ++++----
 docs/ingress-controller/development/index.html                 |  8 ++++----
 docs/ingress-controller/getting-started/index.html             |  8 ++++----
 docs/ingress-controller/practices/check-crd-status/index.html  |  8 ++++----
 docs/ingress-controller/practices/index/index.html             |  8 ++++----
 docs/ingress-controller/practices/mtls/index.html              |  8 ++++----
 .../proxy-the-httpbin-service-with-ingress/index.html          |  8 ++++----
 .../practices/proxy-the-httpbin-service/index.html             |  8 ++++----
 docs/ingress-controller/practices/the-hard-way/index.html      |  8 ++++----
 .../references/apisix_cluster_config/index.html                |  8 ++++----
 docs/ingress-controller/references/apisix_route_v1/index.html  |  8 ++++----
 .../references/apisix_route_v2alpha1/index.html                |  8 ++++----
 docs/ingress-controller/references/apisix_tls/index.html       |  8 ++++----
 docs/ingress-controller/references/apisix_upstream/index.html  |  8 ++++----
 docs/java-plugin-runner/IGNORE_DOC/index.html                  |  8 ++++----
 docs/java-plugin-runner/development/index.html                 |  8 ++++----
 docs/java-plugin-runner/how-it-works/index.html                |  8 ++++----
 docs/java-plugin-runner/next/IGNORE_DOC/index.html             | 10 +++++-----
 docs/java-plugin-runner/next/development/index.html            |  8 ++++----
 docs/java-plugin-runner/next/how-it-works/index.html           |  8 ++++----
 .../next/the-internal-of-apisix-java-plugin-runner/index.html  |  8 ++++----
 .../the-internal-of-apisix-java-plugin-runner/index.html       |  8 ++++----
 downloads/ProjectCard/index.html                               | 10 +++++-----
 downloads/index.html                                           | 10 +++++-----
 .../release-apache-apisix-ingress-controller-0.1.0/index.html  |  8 ++++----
 .../release-apache-apisix-ingress-controller-0.2.0/index.html  |  8 ++++----
 events/2021/02/09/release-apache-apisix-2.3/index.html         |  8 ++++----
 .../release-apache-apisix-ingress-controller-0.3.0/index.html  |  8 ++++----
 .../2021/02/12/release-apache-apisix-dashboard-2.4/index.html  |  8 ++++----
 events/2021/03/05/release-apache-apisix-2.4/index.html         |  8 ++++----
 .../release-apache-apisix-ingress-controller-0.4.0/index.html  |  8 ++++----
 events/2021/04/05/release-apache-apisix-2.5/index.html         |  8 ++++----
 .../04/13/release-apisix-ingress-controller-0.5/index.html     |  8 ++++----
 .../2021/04/22/release-apache-apisix-dashboard-2.6/index.html  |  8 ++++----
 events/2021/05/24/release-apache-apisix-2.6/index.html         |  8 ++++----
 .../05/27/release-apache-apisix-dashboard-2.6.1/index.html     |  8 ++++----
 .../2021/06/15/release-apache-apisix-dashboard-2.7/index.html  |  8 ++++----
 events/2021/06/25/release-apache-apisix-2.7/index.html         |  8 ++++----
 events/index.html                                              |  8 ++++----
 events/page/2/index.html                                       |  8 ++++----
 help/index.html                                                |  8 ++++----
 index.html                                                     |  8 ++++----
 search/index.html                                              |  8 ++++----
 team/index.html                                                |  8 ++++----
 zh/404.html                                                    |  8 ++++----
 zh/assets/js/{19945770.7d09f6df.js => 19945770.dea23394.js}    |  2 +-
 zh/assets/js/25b7c3f2.3334130e.js                              |  1 +
 zh/assets/js/25b7c3f2.5ba78ca2.js                              |  1 -
 zh/assets/js/{3393d167.c42b22be.js => 3393d167.791bb2e5.js}    |  2 +-
 zh/assets/js/{358566b4.db8de082.js => 358566b4.ba7266cc.js}    |  2 +-
 zh/assets/js/{3dc9f306.2eb422e2.js => 3dc9f306.f53e3d97.js}    |  2 +-
 zh/assets/js/{40fb2fae.3d33239b.js => 40fb2fae.70ae761b.js}    |  2 +-
 zh/assets/js/47f8a22a.09e19627.js                              |  1 -
 zh/assets/js/47f8a22a.342dfe61.js                              |  1 +
 zh/assets/js/{4c20006b.c9142007.js => 4c20006b.f2843b1d.js}    |  2 +-
 zh/assets/js/{50facf8e.a9c7dd20.js => 50facf8e.53b23c94.js}    |  2 +-
 zh/assets/js/{542fd41f.dc99f03c.js => 542fd41f.6c11ee11.js}    |  2 +-
 zh/assets/js/{601c6eaa.32c149f2.js => 601c6eaa.29b51ef9.js}    |  2 +-
 zh/assets/js/{66fbb9c2.dc73bd2e.js => 66fbb9c2.f5fe96e8.js}    |  2 +-
 zh/assets/js/{7af3052c.03397b5f.js => 7af3052c.0d9d60bb.js}    |  2 +-
 zh/assets/js/{8e784bf3.bbd3f06c.js => 8e784bf3.cf13a592.js}    |  2 +-
 zh/assets/js/98c69322.191ba778.js                              |  1 +
 zh/assets/js/98c69322.4e3d4037.js                              |  1 -
 zh/assets/js/{adbb350b.bc876da1.js => adbb350b.d23caa8c.js}    |  2 +-
 zh/assets/js/{d18db9b0.9559db08.js => d18db9b0.52feb833.js}    |  2 +-
 zh/assets/js/main.c956061d.js                                  |  2 ++
 .../assets/js/main.c956061d.js.LICENSE.txt                     |  0
 zh/assets/js/main.f5acee77.js                                  |  2 --
 .../js/{runtime~main.81374272.js => runtime~main.785b9901.js}  |  2 +-
 zh/blog/2020/08/22/new-website/index.html                      |  8 ++++----
 .../12/16/another-way-to-implement-envoy-filter/index.html     |  8 ++++----
 .../12/18/a-first-look-at-kubernetes-service-api/index.html    |  8 ++++----
 .../index.html                                                 |  8 ++++----
 zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html |  8 ++++----
 .../2021/02/08/stable-product-delivery-with-cypress/index.html |  8 ++++----
 .../02/26/install-apache-apisix-from-helm-charts/index.html    |  8 ++++----
 .../03/02/get-front-end-test-coverage-with-cypress/index.html  |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../index.html"                                                |  8 ++++----
 .../index.html"                                                |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../06/21/use-Java-to-write-Apache-APISIX-plugins/index.html   |  8 ++++----
 .../index.html                                                 |  8 ++++----
 zh/blog/2021/06/29/release-apache-apisix-2.7-en/index.html     |  8 ++++----
 zh/blog/2021/06/29/release-apache-apisix-2.7/index.html        |  8 ++++----
 .../2021/06/30/etcd3-support-HTTP-access-perfectly/index.html  |  8 ++++----
 zh/blog/2021/07/06/celebrate-200-contributors/index.html       |  8 ++++----
 .../index.html                                                 |  8 ++++----
 .../07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply/index.html   |  8 ++++----
 zh/blog/index.html                                             |  8 ++++----
 zh/blog/page/2/index.html                                      |  8 ++++----
 zh/blog/page/3/index.html                                      |  8 ++++----
 zh/docs/apisix/2.4/FAQ/index.html                              |  8 ++++----
 zh/docs/apisix/2.4/IGNORE_DOC/index.html                       |  8 ++++----
 zh/docs/apisix/2.4/admin-api/index.html                        |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/index.html              |  8 ++++----
 zh/docs/apisix/2.4/aws/index.html                              |  8 ++++----
 zh/docs/apisix/2.4/batch-processor/index.html                  |  8 ++++----
 zh/docs/apisix/2.4/benchmark/index.html                        |  8 ++++----
 zh/docs/apisix/2.4/control-api/index.html                      |  8 ++++----
 zh/docs/apisix/2.4/customize-nginx-configuration/index.html    |  8 ++++----
 zh/docs/apisix/2.4/debug-function/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/discovery/consul_kv/index.html              |  8 ++++----
 zh/docs/apisix/2.4/discovery/index.html                        |  8 ++++----
 zh/docs/apisix/2.4/dns/index.html                              |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html   |  8 ++++----
 zh/docs/apisix/2.4/getting-started/index.html                  |  8 ++++----
 zh/docs/apisix/2.4/grpc-proxy/index.html                       |  8 ++++----
 zh/docs/apisix/2.4/health-check/index.html                     |  8 ++++----
 zh/docs/apisix/2.4/how-to-build/index.html                     |  8 ++++----
 zh/docs/apisix/2.4/https/index.html                            |  8 ++++----
 zh/docs/apisix/2.4/install-dependencies/index.html             |  8 ++++----
 zh/docs/apisix/2.4/mtls/index.html                             |  8 ++++----
 zh/docs/apisix/2.4/plugin-develop/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/plugin-interceptors/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/api-breaker/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/authz-keycloak/index.html           |  8 ++++----
 zh/docs/apisix/2.4/plugins/basic-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/batch-requests/index.html           |  8 ++++----
 zh/docs/apisix/2.4/plugins/consumer-restriction/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/cors/index.html                     |  8 ++++----
 zh/docs/apisix/2.4/plugins/dubbo-proxy/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/echo/index.html                     |  8 ++++----
 zh/docs/apisix/2.4/plugins/error-log-logger/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugins/fault-injection/index.html          |  8 ++++----
 zh/docs/apisix/2.4/plugins/grpc-transcode/index.html           |  8 ++++----
 zh/docs/apisix/2.4/plugins/hmac-auth/index.html                |  8 ++++----
 zh/docs/apisix/2.4/plugins/http-logger/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/index.html                          |  8 ++++----
 zh/docs/apisix/2.4/plugins/ip-restriction/index.html           |  8 ++++----
 zh/docs/apisix/2.4/plugins/jwt-auth/index.html                 |  8 ++++----
 zh/docs/apisix/2.4/plugins/kafka-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/key-auth/index.html                 |  8 ++++----
 zh/docs/apisix/2.4/plugins/limit-conn/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/limit-count/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/limit-req/index.html                |  8 ++++----
 zh/docs/apisix/2.4/plugins/log-rotate/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/mqtt-proxy/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/node-status/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/openid-connect/index.html           |  8 ++++----
 zh/docs/apisix/2.4/plugins/prometheus/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/proxy-cache/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/proxy-mirror/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/proxy-rewrite/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/redirect/index.html                 |  8 ++++----
 zh/docs/apisix/2.4/plugins/referer-restriction/index.html      |  8 ++++----
 zh/docs/apisix/2.4/plugins/request-id/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/request-validation/index.html       |  8 ++++----
 zh/docs/apisix/2.4/plugins/response-rewrite/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugins/server-info/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/serverless/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/skywalking/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/sls-logger/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/syslog/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/plugins/tcp-logger/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/traffic-split/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/udp-logger/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/uri-blocker/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/wolf-rbac/index.html                |  8 ++++----
 zh/docs/apisix/2.4/plugins/zipkin/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/powered-by/index.html                       |  8 ++++----
 zh/docs/apisix/2.4/profile/index.html                          |  8 ++++----
 zh/docs/apisix/2.4/router-radixtree/index.html                 |  8 ++++----
 zh/docs/apisix/2.4/stand-alone/index.html                      |  8 ++++----
 zh/docs/apisix/2.4/stream-proxy/index.html                     |  8 ++++----
 zh/docs/apisix/2.5/FAQ/index.html                              |  8 ++++----
 zh/docs/apisix/2.5/IGNORE_DOC/index.html                       |  8 ++++----
 zh/docs/apisix/2.5/admin-api/index.html                        |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/apisix/index.html       |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/consumer/index.html     |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/debug-mode/index.html   |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/global-rule/index.html  |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/index.html              |  8 ++++----
 .../apisix/2.5/architecture-design/plugin-config/index.html    |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/plugin/index.html       |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/route/index.html        |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/router/index.html       |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/script/index.html       |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/service/index.html      |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/upstream/index.html     |  8 ++++----
 zh/docs/apisix/2.5/aws/index.html                              |  8 ++++----
 zh/docs/apisix/2.5/batch-processor/index.html                  |  8 ++++----
 zh/docs/apisix/2.5/benchmark/index.html                        |  8 ++++----
 zh/docs/apisix/2.5/control-api/index.html                      |  8 ++++----
 zh/docs/apisix/2.5/customize-nginx-configuration/index.html    |  8 ++++----
 zh/docs/apisix/2.5/debug-function/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/discovery/consul_kv/index.html              |  8 ++++----
 zh/docs/apisix/2.5/discovery/dns/index.html                    |  8 ++++----
 zh/docs/apisix/2.5/discovery/index.html                        |  8 ++++----
 zh/docs/apisix/2.5/dns/index.html                              |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html   |  8 ++++----
 zh/docs/apisix/2.5/getting-started/index.html                  |  8 ++++----
 zh/docs/apisix/2.5/grpc-proxy/index.html                       |  8 ++++----
 zh/docs/apisix/2.5/health-check/index.html                     |  8 ++++----
 zh/docs/apisix/2.5/how-to-build/index.html                     |  8 ++++----
 zh/docs/apisix/2.5/https/index.html                            |  8 ++++----
 zh/docs/apisix/2.5/install-dependencies/index.html             |  8 ++++----
 zh/docs/apisix/2.5/mtls/index.html                             |  8 ++++----
 zh/docs/apisix/2.5/plugin-develop/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/plugin-interceptors/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/api-breaker/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/authz-keycloak/index.html           |  8 ++++----
 zh/docs/apisix/2.5/plugins/basic-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/batch-requests/index.html           |  8 ++++----
 zh/docs/apisix/2.5/plugins/consumer-restriction/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/cors/index.html                     |  8 ++++----
 zh/docs/apisix/2.5/plugins/dubbo-proxy/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/echo/index.html                     |  8 ++++----
 zh/docs/apisix/2.5/plugins/error-log-logger/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugins/fault-injection/index.html          |  8 ++++----
 zh/docs/apisix/2.5/plugins/grpc-transcode/index.html           |  8 ++++----
 zh/docs/apisix/2.5/plugins/hmac-auth/index.html                |  8 ++++----
 zh/docs/apisix/2.5/plugins/http-logger/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/index.html                          |  8 ++++----
 zh/docs/apisix/2.5/plugins/ip-restriction/index.html           |  8 ++++----
 zh/docs/apisix/2.5/plugins/jwt-auth/index.html                 |  8 ++++----
 zh/docs/apisix/2.5/plugins/kafka-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/key-auth/index.html                 |  8 ++++----
 zh/docs/apisix/2.5/plugins/limit-conn/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/limit-count/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/limit-req/index.html                |  8 ++++----
 zh/docs/apisix/2.5/plugins/log-rotate/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/mqtt-proxy/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/node-status/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/openid-connect/index.html           |  8 ++++----
 zh/docs/apisix/2.5/plugins/prometheus/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/proxy-cache/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/proxy-mirror/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/proxy-rewrite/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/redirect/index.html                 |  8 ++++----
 zh/docs/apisix/2.5/plugins/referer-restriction/index.html      |  8 ++++----
 zh/docs/apisix/2.5/plugins/request-id/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/request-validation/index.html       |  8 ++++----
 zh/docs/apisix/2.5/plugins/response-rewrite/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugins/server-info/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/serverless/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/skywalking/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/sls-logger/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/syslog/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/plugins/tcp-logger/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/traffic-split/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/udp-logger/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/uri-blocker/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/wolf-rbac/index.html                |  8 ++++----
 zh/docs/apisix/2.5/plugins/zipkin/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/powered-by/index.html                       |  8 ++++----
 zh/docs/apisix/2.5/profile/index.html                          |  8 ++++----
 zh/docs/apisix/2.5/router-radixtree/index.html                 |  8 ++++----
 zh/docs/apisix/2.5/stand-alone/index.html                      |  8 ++++----
 zh/docs/apisix/2.5/stream-proxy/index.html                     |  8 ++++----
 zh/docs/apisix/2.6/FAQ/index.html                              |  8 ++++----
 zh/docs/apisix/2.6/IGNORE_DOC/index.html                       |  8 ++++----
 zh/docs/apisix/2.6/admin-api/index.html                        |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/apisix/index.html       |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/consumer/index.html     |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/debug-mode/index.html   |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/global-rule/index.html  |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/index.html              |  8 ++++----
 .../apisix/2.6/architecture-design/plugin-config/index.html    |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/plugin/index.html       |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/route/index.html        |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/router/index.html       |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/script/index.html       |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/service/index.html      |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/upstream/index.html     |  8 ++++----
 zh/docs/apisix/2.6/aws/index.html                              |  8 ++++----
 zh/docs/apisix/2.6/batch-processor/index.html                  |  8 ++++----
 zh/docs/apisix/2.6/benchmark/index.html                        |  8 ++++----
 zh/docs/apisix/2.6/control-api/index.html                      |  8 ++++----
 zh/docs/apisix/2.6/customize-nginx-configuration/index.html    |  8 ++++----
 zh/docs/apisix/2.6/debug-function/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/discovery/consul_kv/index.html              |  8 ++++----
 zh/docs/apisix/2.6/discovery/dns/index.html                    |  8 ++++----
 zh/docs/apisix/2.6/discovery/eureka/index.html                 |  8 ++++----
 zh/docs/apisix/2.6/discovery/index.html                        |  8 ++++----
 zh/docs/apisix/2.6/discovery/nacos/index.html                  |  8 ++++----
 zh/docs/apisix/2.6/dns/index.html                              |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html   |  8 ++++----
 zh/docs/apisix/2.6/getting-started/index.html                  |  8 ++++----
 zh/docs/apisix/2.6/grpc-proxy/index.html                       |  8 ++++----
 zh/docs/apisix/2.6/health-check/index.html                     |  8 ++++----
 zh/docs/apisix/2.6/how-to-build/index.html                     |  8 ++++----
 zh/docs/apisix/2.6/https/index.html                            |  8 ++++----
 zh/docs/apisix/2.6/install-dependencies/index.html             |  8 ++++----
 zh/docs/apisix/2.6/mtls/index.html                             |  8 ++++----
 zh/docs/apisix/2.6/plugin-develop/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/plugin-interceptors/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/api-breaker/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/authz-keycloak/index.html           |  8 ++++----
 zh/docs/apisix/2.6/plugins/basic-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/batch-requests/index.html           |  8 ++++----
 zh/docs/apisix/2.6/plugins/consumer-restriction/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/cors/index.html                     |  8 ++++----
 zh/docs/apisix/2.6/plugins/dubbo-proxy/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/echo/index.html                     |  8 ++++----
 zh/docs/apisix/2.6/plugins/error-log-logger/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugins/fault-injection/index.html          |  8 ++++----
 zh/docs/apisix/2.6/plugins/grpc-transcode/index.html           |  8 ++++----
 zh/docs/apisix/2.6/plugins/hmac-auth/index.html                |  8 ++++----
 zh/docs/apisix/2.6/plugins/http-logger/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/index.html                          |  8 ++++----
 zh/docs/apisix/2.6/plugins/ip-restriction/index.html           |  8 ++++----
 zh/docs/apisix/2.6/plugins/jwt-auth/index.html                 |  8 ++++----
 zh/docs/apisix/2.6/plugins/kafka-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/key-auth/index.html                 |  8 ++++----
 zh/docs/apisix/2.6/plugins/limit-conn/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/limit-count/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/limit-req/index.html                |  8 ++++----
 zh/docs/apisix/2.6/plugins/log-rotate/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/mqtt-proxy/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/node-status/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/openid-connect/index.html           |  8 ++++----
 zh/docs/apisix/2.6/plugins/prometheus/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/proxy-cache/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/proxy-mirror/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/proxy-rewrite/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/redirect/index.html                 |  8 ++++----
 zh/docs/apisix/2.6/plugins/referer-restriction/index.html      |  8 ++++----
 zh/docs/apisix/2.6/plugins/request-id/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/request-validation/index.html       |  8 ++++----
 zh/docs/apisix/2.6/plugins/response-rewrite/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugins/server-info/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/serverless/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/skywalking/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/sls-logger/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/syslog/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/plugins/tcp-logger/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/traffic-split/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/udp-logger/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/uri-blocker/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/wolf-rbac/index.html                |  8 ++++----
 zh/docs/apisix/2.6/plugins/zipkin/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/powered-by/index.html                       |  8 ++++----
 zh/docs/apisix/2.6/profile/index.html                          |  8 ++++----
 zh/docs/apisix/2.6/router-radixtree/index.html                 |  8 ++++----
 zh/docs/apisix/2.6/stand-alone/index.html                      |  8 ++++----
 zh/docs/apisix/2.6/stream-proxy/index.html                     |  8 ++++----
 zh/docs/apisix/FAQ/index.html                                  |  8 ++++----
 zh/docs/apisix/IGNORE_DOC/index.html                           |  8 ++++----
 zh/docs/apisix/admin-api/index.html                            |  8 ++++----
 zh/docs/apisix/architecture-design/apisix/index.html           |  8 ++++----
 zh/docs/apisix/architecture-design/consumer/index.html         |  8 ++++----
 zh/docs/apisix/architecture-design/debug-mode/index.html       |  8 ++++----
 zh/docs/apisix/architecture-design/global-rule/index.html      |  8 ++++----
 zh/docs/apisix/architecture-design/index.html                  |  8 ++++----
 zh/docs/apisix/architecture-design/plugin-config/index.html    |  8 ++++----
 zh/docs/apisix/architecture-design/plugin/index.html           |  8 ++++----
 zh/docs/apisix/architecture-design/route/index.html            |  8 ++++----
 zh/docs/apisix/architecture-design/router/index.html           |  8 ++++----
 zh/docs/apisix/architecture-design/script/index.html           |  8 ++++----
 zh/docs/apisix/architecture-design/service/index.html          |  8 ++++----
 zh/docs/apisix/architecture-design/upstream/index.html         |  8 ++++----
 zh/docs/apisix/aws/index.html                                  |  8 ++++----
 zh/docs/apisix/batch-processor/index.html                      |  8 ++++----
 zh/docs/apisix/benchmark/index.html                            |  8 ++++----
 zh/docs/apisix/certificate/index.html                          |  8 ++++----
 zh/docs/apisix/control-api/index.html                          |  8 ++++----
 zh/docs/apisix/customize-nginx-configuration/index.html        |  8 ++++----
 zh/docs/apisix/debug-function/index.html                       |  8 ++++----
 zh/docs/apisix/discovery/consul_kv/index.html                  |  8 ++++----
 zh/docs/apisix/discovery/dns/index.html                        |  8 ++++----
 zh/docs/apisix/discovery/eureka/index.html                     |  8 ++++----
 zh/docs/apisix/discovery/index.html                            |  8 ++++----
 zh/docs/apisix/discovery/nacos/index.html                      |  8 ++++----
 zh/docs/apisix/dns/index.html                                  |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html   |  8 ++++----
 zh/docs/apisix/external-plugin/index.html                      |  8 ++++----
 zh/docs/apisix/getting-started/index.html                      |  8 ++++----
 zh/docs/apisix/grpc-proxy/index.html                           |  8 ++++----
 zh/docs/apisix/health-check/index.html                         |  8 ++++----
 zh/docs/apisix/how-to-build/index.html                         |  8 ++++----
 zh/docs/apisix/https/index.html                                |  8 ++++----
 zh/docs/apisix/install-dependencies/index.html                 |  8 ++++----
 zh/docs/apisix/mtls/index.html                                 |  8 ++++----
 zh/docs/apisix/next/FAQ/index.html                             |  8 ++++----
 zh/docs/apisix/next/IGNORE_DOC/index.html                      | 10 +++++-----
 zh/docs/apisix/next/admin-api/index.html                       |  8 ++++----
 zh/docs/apisix/next/architecture-design/apisix/index.html      |  8 ++++----
 zh/docs/apisix/next/architecture-design/consumer/index.html    |  8 ++++----
 zh/docs/apisix/next/architecture-design/debug-mode/index.html  |  8 ++++----
 zh/docs/apisix/next/architecture-design/global-rule/index.html |  8 ++++----
 zh/docs/apisix/next/architecture-design/index.html             |  8 ++++----
 .../apisix/next/architecture-design/plugin-config/index.html   |  8 ++++----
 zh/docs/apisix/next/architecture-design/plugin/index.html      |  8 ++++----
 zh/docs/apisix/next/architecture-design/route/index.html       |  8 ++++----
 zh/docs/apisix/next/architecture-design/router/index.html      |  8 ++++----
 zh/docs/apisix/next/architecture-design/script/index.html      |  8 ++++----
 zh/docs/apisix/next/architecture-design/service/index.html     |  8 ++++----
 zh/docs/apisix/next/architecture-design/upstream/index.html    |  8 ++++----
 zh/docs/apisix/next/aws/index.html                             |  8 ++++----
 zh/docs/apisix/next/batch-processor/index.html                 |  8 ++++----
 zh/docs/apisix/next/benchmark/index.html                       |  8 ++++----
 zh/docs/apisix/next/certificate/index.html                     |  8 ++++----
 zh/docs/apisix/next/control-api/index.html                     |  8 ++++----
 zh/docs/apisix/next/customize-nginx-configuration/index.html   |  8 ++++----
 zh/docs/apisix/next/debug-function/index.html                  |  8 ++++----
 zh/docs/apisix/next/discovery/consul_kv/index.html             |  8 ++++----
 zh/docs/apisix/next/discovery/dns/index.html                   |  8 ++++----
 zh/docs/apisix/next/discovery/eureka/index.html                |  8 ++++----
 zh/docs/apisix/next/discovery/index.html                       |  8 ++++----
 zh/docs/apisix/next/discovery/nacos/index.html                 |  8 ++++----
 zh/docs/apisix/next/dns/index.html                             |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html   |  8 ++++----
 zh/docs/apisix/next/external-plugin/index.html                 |  8 ++++----
 zh/docs/apisix/next/getting-started/index.html                 |  8 ++++----
 zh/docs/apisix/next/grpc-proxy/index.html                      |  8 ++++----
 zh/docs/apisix/next/health-check/index.html                    |  8 ++++----
 zh/docs/apisix/next/how-to-build/index.html                    |  8 ++++----
 zh/docs/apisix/next/https/index.html                           |  8 ++++----
 zh/docs/apisix/next/install-dependencies/index.html            |  8 ++++----
 zh/docs/apisix/next/mtls/index.html                            |  8 ++++----
 zh/docs/apisix/next/plugin-develop/index.html                  |  8 ++++----
 zh/docs/apisix/next/plugin-interceptors/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/api-breaker/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/authz-keycloak/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/basic-auth/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/batch-requests/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/client-control/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/consumer-restriction/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/cors/index.html                    |  8 ++++----
 zh/docs/apisix/next/plugins/dubbo-proxy/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/echo/index.html                    |  8 ++++----
 zh/docs/apisix/next/plugins/error-log-logger/index.html        |  8 ++++----
 zh/docs/apisix/next/plugins/ext-plugin-post-req/index.html     |  8 ++++----
 zh/docs/apisix/next/plugins/ext-plugin-pre-req/index.html      |  8 ++++----
 zh/docs/apisix/next/plugins/fault-injection/index.html         |  8 ++++----
 zh/docs/apisix/next/plugins/grpc-transcode/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/hmac-auth/index.html               |  8 ++++----
 zh/docs/apisix/next/plugins/http-logger/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/index.html                         |  8 ++++----
 zh/docs/apisix/next/plugins/ip-restriction/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/jwt-auth/index.html                |  8 ++++----
 zh/docs/apisix/next/plugins/kafka-logger/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/key-auth/index.html                |  8 ++++----
 zh/docs/apisix/next/plugins/limit-conn/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/limit-count/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/limit-req/index.html               |  8 ++++----
 zh/docs/apisix/next/plugins/log-rotate/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/mqtt-proxy/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/node-status/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/openid-connect/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/prometheus/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/proxy-cache/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/proxy-mirror/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/proxy-rewrite/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/redirect/index.html                |  8 ++++----
 zh/docs/apisix/next/plugins/referer-restriction/index.html     |  8 ++++----
 zh/docs/apisix/next/plugins/request-id/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/request-validation/index.html      |  8 ++++----
 zh/docs/apisix/next/plugins/response-rewrite/index.html        |  8 ++++----
 zh/docs/apisix/next/plugins/server-info/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/serverless/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/skywalking/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/sls-logger/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/syslog/index.html                  |  8 ++++----
 zh/docs/apisix/next/plugins/tcp-logger/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/traffic-split/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/udp-logger/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/uri-blocker/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/wolf-rbac/index.html               |  8 ++++----
 zh/docs/apisix/next/plugins/zipkin/index.html                  |  8 ++++----
 zh/docs/apisix/next/powered-by/index.html                      |  8 ++++----
 zh/docs/apisix/next/profile/index.html                         |  8 ++++----
 zh/docs/apisix/next/router-radixtree/index.html                |  8 ++++----
 zh/docs/apisix/next/stand-alone/index.html                     |  8 ++++----
 zh/docs/apisix/next/stream-proxy/index.html                    |  8 ++++----
 zh/docs/apisix/plugin-develop/index.html                       |  8 ++++----
 zh/docs/apisix/plugin-interceptors/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/api-breaker/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/authz-keycloak/index.html               |  8 ++++----
 zh/docs/apisix/plugins/basic-auth/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/batch-requests/index.html               |  8 ++++----
 zh/docs/apisix/plugins/client-control/index.html               |  8 ++++----
 zh/docs/apisix/plugins/consumer-restriction/index.html         |  8 ++++----
 zh/docs/apisix/plugins/cors/index.html                         |  8 ++++----
 zh/docs/apisix/plugins/dubbo-proxy/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/echo/index.html                         |  8 ++++----
 zh/docs/apisix/plugins/error-log-logger/index.html             |  8 ++++----
 zh/docs/apisix/plugins/ext-plugin-post-req/index.html          |  8 ++++----
 zh/docs/apisix/plugins/ext-plugin-pre-req/index.html           |  8 ++++----
 zh/docs/apisix/plugins/fault-injection/index.html              |  8 ++++----
 zh/docs/apisix/plugins/grpc-transcode/index.html               |  8 ++++----
 zh/docs/apisix/plugins/hmac-auth/index.html                    |  8 ++++----
 zh/docs/apisix/plugins/http-logger/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/index.html                              |  8 ++++----
 zh/docs/apisix/plugins/ip-restriction/index.html               |  8 ++++----
 zh/docs/apisix/plugins/jwt-auth/index.html                     |  8 ++++----
 zh/docs/apisix/plugins/kafka-logger/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/key-auth/index.html                     |  8 ++++----
 zh/docs/apisix/plugins/limit-conn/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/limit-count/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/limit-req/index.html                    |  8 ++++----
 zh/docs/apisix/plugins/log-rotate/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/mqtt-proxy/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/node-status/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/openid-connect/index.html               |  8 ++++----
 zh/docs/apisix/plugins/prometheus/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/proxy-cache/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/proxy-mirror/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/proxy-rewrite/index.html                |  8 ++++----
 zh/docs/apisix/plugins/redirect/index.html                     |  8 ++++----
 zh/docs/apisix/plugins/referer-restriction/index.html          |  8 ++++----
 zh/docs/apisix/plugins/request-id/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/request-validation/index.html           |  8 ++++----
 zh/docs/apisix/plugins/response-rewrite/index.html             |  8 ++++----
 zh/docs/apisix/plugins/server-info/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/serverless/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/skywalking/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/sls-logger/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/syslog/index.html                       |  8 ++++----
 zh/docs/apisix/plugins/tcp-logger/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/traffic-split/index.html                |  8 ++++----
 zh/docs/apisix/plugins/udp-logger/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/uri-blocker/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/wolf-rbac/index.html                    |  8 ++++----
 zh/docs/apisix/plugins/zipkin/index.html                       |  8 ++++----
 zh/docs/apisix/powered-by/index.html                           |  8 ++++----
 zh/docs/apisix/profile/index.html                              |  8 ++++----
 zh/docs/apisix/router-radixtree/index.html                     |  8 ++++----
 zh/docs/apisix/stand-alone/index.html                          |  8 ++++----
 zh/docs/apisix/stream-proxy/index.html                         |  8 ++++----
 zh/docs/dashboard/2.5/FAQ/index.html                           |  8 ++++----
 zh/docs/dashboard/2.5/I18N_USER_GUIDE/index.html               |  8 ++++----
 zh/docs/dashboard/2.5/IGNORE_DOC/index.html                    |  8 ++++----
 zh/docs/dashboard/2.5/IMPORT_OPENAPI_USER_GUIDE/index.html     |  8 ++++----
 zh/docs/dashboard/2.5/USER_GUIDE/index.html                    |  8 ++++----
 zh/docs/dashboard/2.5/api/api/index.html                       |  8 ++++----
 zh/docs/dashboard/2.5/back-end-tests/index.html                |  8 ++++----
 zh/docs/dashboard/2.5/deploy-with-docker/index.html            |  8 ++++----
 zh/docs/dashboard/2.5/deploy-with-rpm/index.html               |  8 ++++----
 zh/docs/dashboard/2.5/deploy/index.html                        |  8 ++++----
 zh/docs/dashboard/2.5/develop/index.html                       |  8 ++++----
 zh/docs/dashboard/2.5/front-end-e2e/index.html                 |  8 ++++----
 zh/docs/dashboard/2.6.1/FAQ/index.html                         |  8 ++++----
 zh/docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html             |  8 ++++----
 zh/docs/dashboard/2.6.1/IGNORE_DOC/index.html                  |  8 ++++----
 zh/docs/dashboard/2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html   |  8 ++++----
 zh/docs/dashboard/2.6.1/USER_GUIDE/index.html                  |  8 ++++----
 zh/docs/dashboard/2.6.1/api/api/index.html                     |  8 ++++----
 zh/docs/dashboard/2.6.1/back-end-tests/index.html              |  8 ++++----
 zh/docs/dashboard/2.6.1/deploy-with-docker/index.html          |  8 ++++----
 zh/docs/dashboard/2.6.1/deploy-with-rpm/index.html             |  8 ++++----
 zh/docs/dashboard/2.6.1/deploy/index.html                      |  8 ++++----
 zh/docs/dashboard/2.6.1/develop/index.html                     |  8 ++++----
 zh/docs/dashboard/2.6.1/front-end-e2e/index.html               |  8 ++++----
 zh/docs/dashboard/2.6/FAQ/index.html                           |  8 ++++----
 zh/docs/dashboard/2.6/I18N_USER_GUIDE/index.html               |  8 ++++----
 zh/docs/dashboard/2.6/IGNORE_DOC/index.html                    |  8 ++++----
 zh/docs/dashboard/2.6/IMPORT_OPENAPI_USER_GUIDE/index.html     |  8 ++++----
 zh/docs/dashboard/2.6/USER_GUIDE/index.html                    |  8 ++++----
 zh/docs/dashboard/2.6/api/api/index.html                       |  8 ++++----
 zh/docs/dashboard/2.6/back-end-tests/index.html                |  8 ++++----
 zh/docs/dashboard/2.6/deploy-with-docker/index.html            |  8 ++++----
 zh/docs/dashboard/2.6/deploy-with-rpm/index.html               |  8 ++++----
 zh/docs/dashboard/2.6/deploy/index.html                        |  8 ++++----
 zh/docs/dashboard/2.6/develop/index.html                       |  8 ++++----
 zh/docs/dashboard/2.6/front-end-e2e/index.html                 |  8 ++++----
 zh/docs/dashboard/FAQ/index.html                               |  8 ++++----
 zh/docs/dashboard/I18N_USER_GUIDE/index.html                   |  8 ++++----
 zh/docs/dashboard/IGNORE_DOC/index.html                        |  8 ++++----
 zh/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html         |  8 ++++----
 zh/docs/dashboard/USER_GUIDE/index.html                        |  8 ++++----
 zh/docs/dashboard/api/api/index.html                           |  8 ++++----
 zh/docs/dashboard/back-end-tests/index.html                    |  8 ++++----
 zh/docs/dashboard/deploy-with-docker/index.html                |  8 ++++----
 zh/docs/dashboard/deploy-with-rpm/index.html                   |  8 ++++----
 zh/docs/dashboard/deploy/index.html                            |  8 ++++----
 zh/docs/dashboard/develop/index.html                           |  8 ++++----
 zh/docs/dashboard/front-end-e2e/index.html                     |  8 ++++----
 zh/docs/dashboard/next/FAQ/index.html                          |  8 ++++----
 zh/docs/dashboard/next/I18N_USER_GUIDE/index.html              |  8 ++++----
 zh/docs/dashboard/next/IGNORE_DOC/index.html                   | 10 +++++-----
 zh/docs/dashboard/next/IMPORT_OPENAPI_USER_GUIDE/index.html    |  8 ++++----
 zh/docs/dashboard/next/USER_GUIDE/index.html                   |  8 ++++----
 zh/docs/dashboard/next/api/api/index.html                      |  8 ++++----
 zh/docs/dashboard/next/back-end-tests/index.html               |  8 ++++----
 zh/docs/dashboard/next/deploy-with-docker/index.html           |  8 ++++----
 zh/docs/dashboard/next/deploy-with-rpm/index.html              |  8 ++++----
 zh/docs/dashboard/next/deploy/index.html                       |  8 ++++----
 zh/docs/dashboard/next/develop/index.html                      |  8 ++++----
 zh/docs/dashboard/next/front-end-e2e/index.html                |  8 ++++----
 zh/docs/docker/IGNORE_DOC/index.html                           | 10 +++++-----
 zh/docs/docker/build/index.html                                |  8 ++++----
 zh/docs/docker/example/index.html                              |  8 ++++----
 zh/docs/docker/manual/index.html                               |  8 ++++----
 zh/docs/general/2fa/index.html                                 | 10 +++++-----
 zh/docs/general/committer-guide/index.html                     | 10 +++++-----
 zh/docs/general/contributor-guide/index.html                   | 10 +++++-----
 zh/docs/general/integrate-with-project-docs/index.html         | 10 +++++-----
 zh/docs/general/release-guide/index.html                       | 10 +++++-----
 zh/docs/general/security/index.html                            | 10 +++++-----
 zh/docs/general/subscribe-guide/index.html                     | 10 +++++-----
 zh/docs/go-plugin-runner/IGNORE_DOC/index.html                 |  8 ++++----
 zh/docs/go-plugin-runner/developer-guide/index.html            |  8 ++++----
 zh/docs/go-plugin-runner/getting-started/index.html            |  8 ++++----
 zh/docs/go-plugin-runner/next/IGNORE_DOC/index.html            | 10 +++++-----
 zh/docs/go-plugin-runner/next/developer-guide/index.html       |  8 ++++----
 zh/docs/go-plugin-runner/next/getting-started/index.html       |  8 ++++----
 zh/docs/helm-chart/IGNORE_DOC/index.html                       | 10 +++++-----
 zh/docs/helm-chart/apisix-dashboard/index.html                 |  8 ++++----
 zh/docs/helm-chart/apisix-ingress-controller/index.html        |  8 ++++----
 zh/docs/helm-chart/apisix/index.html                           |  8 ++++----
 zh/docs/index.html                                             |  8 ++++----
 zh/docs/ingress-controller/FAQ/index.html                      |  8 ++++----
 zh/docs/ingress-controller/IGNORE_DOC/index.html               | 10 +++++-----
 zh/docs/ingress-controller/concepts/annotations/index.html     |  8 ++++----
 .../concepts/apisix_cluster_config/index.html                  |  8 ++++----
 zh/docs/ingress-controller/concepts/apisix_route/index.html    |  8 ++++----
 zh/docs/ingress-controller/concepts/apisix_tls/index.html      |  8 ++++----
 zh/docs/ingress-controller/concepts/apisix_upstream/index.html |  8 ++++----
 zh/docs/ingress-controller/contribute/index.html               |  8 ++++----
 zh/docs/ingress-controller/deployments/ack/index.html          |  8 ++++----
 zh/docs/ingress-controller/deployments/aws/index.html          |  8 ++++----
 zh/docs/ingress-controller/deployments/azure/index.html        |  8 ++++----
 zh/docs/ingress-controller/deployments/gke/index.html          |  8 ++++----
 zh/docs/ingress-controller/deployments/k3s-rke/index.html      |  8 ++++----
 zh/docs/ingress-controller/deployments/kubesphere/index.html   |  8 ++++----
 zh/docs/ingress-controller/deployments/minikube/index.html     |  8 ++++----
 zh/docs/ingress-controller/deployments/tke/index.html          |  8 ++++----
 zh/docs/ingress-controller/design/index.html                   |  8 ++++----
 zh/docs/ingress-controller/development/index.html              |  8 ++++----
 zh/docs/ingress-controller/getting-started/index.html          |  8 ++++----
 .../ingress-controller/practices/check-crd-status/index.html   |  8 ++++----
 zh/docs/ingress-controller/practices/index/index.html          |  8 ++++----
 zh/docs/ingress-controller/practices/mtls/index.html           |  8 ++++----
 .../proxy-the-httpbin-service-with-ingress/index.html          |  8 ++++----
 .../practices/proxy-the-httpbin-service/index.html             |  8 ++++----
 zh/docs/ingress-controller/practices/the-hard-way/index.html   |  8 ++++----
 .../references/apisix_cluster_config/index.html                |  8 ++++----
 .../ingress-controller/references/apisix_route_v1/index.html   |  8 ++++----
 .../references/apisix_route_v2alpha1/index.html                |  8 ++++----
 zh/docs/ingress-controller/references/apisix_tls/index.html    |  8 ++++----
 .../ingress-controller/references/apisix_upstream/index.html   |  8 ++++----
 zh/docs/java-plugin-runner/IGNORE_DOC/index.html               |  8 ++++----
 zh/docs/java-plugin-runner/development/index.html              |  8 ++++----
 zh/docs/java-plugin-runner/how-it-works/index.html             |  8 ++++----
 zh/docs/java-plugin-runner/next/IGNORE_DOC/index.html          | 10 +++++-----
 zh/docs/java-plugin-runner/next/development/index.html         |  8 ++++----
 zh/docs/java-plugin-runner/next/how-it-works/index.html        |  8 ++++----
 .../next/the-internal-of-apisix-java-plugin-runner/index.html  |  8 ++++----
 .../the-internal-of-apisix-java-plugin-runner/index.html       |  8 ++++----
 zh/downloads/ProjectCard/index.html                            | 10 +++++-----
 zh/downloads/index.html                                        | 10 +++++-----
 .../release-apache-apisix-ingress-controller-0.1.0/index.html  |  8 ++++----
 .../release-apache-apisix-ingress-controller-0.2.0/index.html  |  8 ++++----
 zh/events/2021/02/09/release-apache-apisix-2.3/index.html      |  8 ++++----
 .../release-apache-apisix-ingress-controller-0.3.0/index.html  |  8 ++++----
 .../2021/02/12/release-apache-apisix-dashboard-2.4/index.html  |  8 ++++----
 zh/events/2021/03/05/release-apache-apisix-2.4/index.html      |  8 ++++----
 .../release-apache-apisix-ingress-controller-0.4.0/index.html  |  8 ++++----
 zh/events/2021/04/05/release-apache-apisix-2.5/index.html      |  8 ++++----
 .../04/13/release-apisix-ingress-controller-0.5/index.html     |  8 ++++----
 .../2021/04/22/release-apache-apisix-dashboard-2.6/index.html  |  8 ++++----
 zh/events/2021/05/24/release-apache-apisix-2.6/index.html      |  8 ++++----
 .../05/27/release-apache-apisix-dashboard-2.6.1/index.html     |  8 ++++----
 .../2021/06/15/release-apache-apisix-dashboard-2.7/index.html  |  8 ++++----
 zh/events/2021/06/25/release-apache-apisix-2.7/index.html      |  8 ++++----
 zh/events/index.html                                           |  8 ++++----
 zh/events/page/2/index.html                                    |  8 ++++----
 zh/help/index.html                                             |  8 ++++----
 zh/index.html                                                  |  8 ++++----
 zh/search/index.html                                           | 10 +++++-----
 zh/team/index.html                                             |  8 ++++----
 1244 files changed, 4857 insertions(+), 4857 deletions(-)

diff --git a/404.html b/404.html
index 780fbb8..95333de 100644
--- a/404.html
+++ b/404.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX™"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon.png"> [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/19945770.bdc3122a.js b/assets/js/19945770.9255b385.js
similarity index 98%
rename from assets/js/19945770.bdc3122a.js
rename to assets/js/19945770.9255b385.js
index bafffd4..c1fb7c3 100644
--- a/assets/js/19945770.bdc3122a.js
+++ b/assets/js/19945770.9255b385.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[55067],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return p},kt:function(){return f}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[55067],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return p},kt:function(){return f}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/25b7c3f2.3334130e.js b/assets/js/25b7c3f2.3334130e.js
new file mode 100644
index 0000000..8031970
--- /dev/null
+++ b/assets/js/25b7c3f2.3334130e.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[68357],{17046:function(e,t,r){"use strict";var n=r(67294);function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function a(e,t){if(null==e)return{};var r,n,l=function(e,t){if(null==e)return{};var r,n,l={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(l[r]=e[r]);return l} [...]
\ No newline at end of file
diff --git a/assets/js/25b7c3f2.5ba78ca2.js b/assets/js/25b7c3f2.5ba78ca2.js
deleted file mode 100644
index cbd9c47..0000000
--- a/assets/js/25b7c3f2.5ba78ca2.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[68357],{17046:function(e,t,r){"use strict";var n=r(67294);function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function a(e,t){if(null==e)return{};var r,n,l=function(e,t){if(null==e)return{};var r,n,l={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(l[r]=e[r]);return l} [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.985654b9.js b/assets/js/3393d167.82d77a10.js
similarity index 96%
rename from assets/js/3393d167.985654b9.js
rename to assets/js/3393d167.82d77a10.js
index 2ec6ed2..edf9e3e 100644
--- a/assets/js/3393d167.985654b9.js
+++ b/assets/js/3393d167.82d77a10.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/358566b4.c5fbee37.js b/assets/js/358566b4.fafb46fa.js
similarity index 94%
rename from assets/js/358566b4.c5fbee37.js
rename to assets/js/358566b4.fafb46fa.js
index 9fd98ae..aecca9a 100644
--- a/assets/js/358566b4.c5fbee37.js
+++ b/assets/js/358566b4.fafb46fa.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.53d8f5d9.js b/assets/js/3dc9f306.ae07f86e.js
similarity index 98%
rename from assets/js/3dc9f306.53d8f5d9.js
rename to assets/js/3dc9f306.ae07f86e.js
index 647a4ef..2ee6469 100644
--- a/assets/js/3dc9f306.53d8f5d9.js
+++ b/assets/js/3dc9f306.ae07f86e.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return l},kt:function(){return f}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return l},kt:function(){return f}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/40fb2fae.5196eda4.js b/assets/js/40fb2fae.84d79334.js
similarity index 96%
rename from assets/js/40fb2fae.5196eda4.js
rename to assets/js/40fb2fae.84d79334.js
index cc9f5ea..a969209 100644
--- a/assets/js/40fb2fae.5196eda4.js
+++ b/assets/js/40fb2fae.84d79334.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return m}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return m}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/47f8a22a.09e19627.js b/assets/js/47f8a22a.09e19627.js
deleted file mode 100644
index 4e719f1..0000000
--- a/assets/js/47f8a22a.09e19627.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[39658,68763],{48003:function(e,t,r){"use strict";var n=r(67294);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);ret [...]
\ No newline at end of file
diff --git a/assets/js/47f8a22a.342dfe61.js b/assets/js/47f8a22a.342dfe61.js
new file mode 100644
index 0000000..6f259b6
--- /dev/null
+++ b/assets/js/47f8a22a.342dfe61.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[39658,68763],{48003:function(e,t,r){"use strict";var n=r(67294);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);ret [...]
\ No newline at end of file
diff --git a/assets/js/4c20006b.0f6897e5.js b/assets/js/4c20006b.ed54d717.js
similarity index 97%
rename from assets/js/4c20006b.0f6897e5.js
rename to assets/js/4c20006b.ed54d717.js
index a070dbd..4f7c593 100644
--- a/assets/js/4c20006b.0f6897e5.js
+++ b/assets/js/4c20006b.ed54d717.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.5720821d.js b/assets/js/50facf8e.752a8b68.js
similarity index 97%
rename from assets/js/50facf8e.5720821d.js
rename to assets/js/50facf8e.752a8b68.js
index d65b508..3f3d346 100644
--- a/assets/js/50facf8e.5720821d.js
+++ b/assets/js/50facf8e.752a8b68.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return d}});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return d}});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/542fd41f.373f0c6f.js b/assets/js/542fd41f.4a9a425b.js
similarity index 97%
rename from assets/js/542fd41f.373f0c6f.js
rename to assets/js/542fd41f.4a9a425b.js
index 08fb0bd..1b4a0a9 100644
--- a/assets/js/542fd41f.373f0c6f.js
+++ b/assets/js/542fd41f.4a9a425b.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/601c6eaa.dbc88639.js b/assets/js/601c6eaa.fe997c8a.js
similarity index 96%
rename from assets/js/601c6eaa.dbc88639.js
rename to assets/js/601c6eaa.fe997c8a.js
index 7f54c29..0ee95cd 100644
--- a/assets/js/601c6eaa.dbc88639.js
+++ b/assets/js/601c6eaa.fe997c8a.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.bc6dd0e2.js b/assets/js/66fbb9c2.52cefa75.js
similarity index 97%
rename from assets/js/66fbb9c2.bc6dd0e2.js
rename to assets/js/66fbb9c2.52cefa75.js
index aac424d..ae71d04 100644
--- a/assets/js/66fbb9c2.bc6dd0e2.js
+++ b/assets/js/66fbb9c2.52cefa75.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return y}});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return y}});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.3aa00bea.js b/assets/js/7af3052c.4c0c54cf.js
similarity index 99%
rename from assets/js/7af3052c.3aa00bea.js
rename to assets/js/7af3052c.4c0c54cf.js
index c98c625..7f827c6 100644
--- a/assets/js/7af3052c.3aa00bea.js
+++ b/assets/js/7af3052c.4c0c54cf.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){"use strict";t.d(a,{Zo:function(){return d},kt:function(){return u}});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){"use strict";t.d(a,{Zo:function(){return d},kt:function(){return u}});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.af2bc0ab.js b/assets/js/8e784bf3.0d947602.js
similarity index 98%
rename from assets/js/8e784bf3.af2bc0ab.js
rename to assets/js/8e784bf3.0d947602.js
index 6134083..eae3771 100644
--- a/assets/js/8e784bf3.af2bc0ab.js
+++ b/assets/js/8e784bf3.0d947602.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return m},kt:function(){return d}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return m},kt:function(){return d}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/98c69322.191ba778.js b/assets/js/98c69322.191ba778.js
new file mode 100644
index 0000000..4888433
--- /dev/null
+++ b/assets/js/98c69322.191ba778.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[68763],{48003:function(e,t,r){"use strict";var n=r(67294);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a} [...]
\ No newline at end of file
diff --git a/assets/js/98c69322.4e3d4037.js b/assets/js/98c69322.4e3d4037.js
deleted file mode 100644
index a39a6a4..0000000
--- a/assets/js/98c69322.4e3d4037.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[68763],{48003:function(e,t,r){"use strict";var n=r(67294);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a} [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.7579d744.js b/assets/js/adbb350b.6ccb78f6.js
similarity index 99%
rename from assets/js/adbb350b.7579d744.js
rename to assets/js/adbb350b.6ccb78f6.js
index 5099b1e..e6f1d29 100644
--- a/assets/js/adbb350b.7579d744.js
+++ b/assets/js/adbb350b.6ccb78f6.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return p},kt:function(){return d}});var i=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return p},kt:function(){return d}});var i=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.191d3503.js b/assets/js/d18db9b0.063baaa9.js
similarity index 97%
rename from assets/js/d18db9b0.191d3503.js
rename to assets/js/d18db9b0.063baaa9.js
index e2964de..f928353 100644
--- a/assets/js/d18db9b0.191d3503.js
+++ b/assets/js/d18db9b0.063baaa9.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/main.33b4a4b9.js b/assets/js/main.33b4a4b9.js
deleted file mode 100644
index e1d23c5..0000000
--- a/assets/js/main.33b4a4b9.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.33b4a4b9.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[40179],{64644:function(e){"use strict";e.exports={}},22122:function(e,n,t){"use strict";function i(){return(i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e}).apply(this,arguments)}t.d(n,{Z:function(){return i}})},93552:function(e,n,t){"use strict";function i(e,n){return(i=Object.setPrototypeOf||function(e,n){return e.__proto__ [...]
\ No newline at end of file
diff --git a/assets/js/main.92fba19f.js b/assets/js/main.92fba19f.js
new file mode 100644
index 0000000..cd71690
--- /dev/null
+++ b/assets/js/main.92fba19f.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.92fba19f.js.LICENSE.txt */
+(self.webpackChunk=self.webpackChunk||[]).push([[40179],{64644:function(e){"use strict";e.exports={}},22122:function(e,n,t){"use strict";function i(){return(i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e}).apply(this,arguments)}t.d(n,{Z:function(){return i}})},93552:function(e,n,t){"use strict";function i(e,n){return(i=Object.setPrototypeOf||function(e,n){return e.__proto__ [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.f5acee77.js.LICENSE.txt b/assets/js/main.92fba19f.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.f5acee77.js.LICENSE.txt
rename to assets/js/main.92fba19f.js.LICENSE.txt
diff --git a/assets/js/runtime~main.1abbe8ea.js b/assets/js/runtime~main.0e888df5.js
similarity index 97%
rename from assets/js/runtime~main.1abbe8ea.js
rename to assets/js/runtime~main.0e888df5.js
index 96ccc43..6830a1e 100644
--- a/assets/js/runtime~main.1abbe8ea.js
+++ b/assets/js/runtime~main.0e888df5.js
@@ -1 +1 @@
-!function(){"use strict";var e,c,a,f,b={},d={};function t(e){var c=d[e];if(void 0!==c)return c.exports;var a=d[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}t.m=b,t.c=d,e=[],t.O=function(c,a,f,b){if(!a){var d=1/0;for(o=0;o<e.length;o++){a=e[o][0],f=e[o][1],b=e[o][2];for(var n=!0,r=0;r<a.length;r++)(!1&b||d>=b)&&Object.keys(t.O).every((function(e){return t.O[e](a[r])}))?a.splice(r--,1):(n=!1,b<d&&(d=b));n&&(e.splice(o--,1),c=f())}return c}b [...]
\ No newline at end of file
+!function(){"use strict";var e,c,a,f,b={},d={};function t(e){var c=d[e];if(void 0!==c)return c.exports;var a=d[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}t.m=b,t.c=d,e=[],t.O=function(c,a,f,b){if(!a){var d=1/0;for(o=0;o<e.length;o++){a=e[o][0],f=e[o][1],b=e[o][2];for(var n=!0,r=0;r<a.length;r++)(!1&b||d>=b)&&Object.keys(t.O).every((function(e){return t.O[e](a[r])}))?a.splice(r--,1):(n=!1,b<d&&(d=b));n&&(e.splice(o--,1),c=f())}return c}b [...]
\ No newline at end of file
diff --git a/blog/2020/08/22/new-website/index.html b/blog/2020/08/22/new-website/index.html
index af4be2f..0825315 100644
--- a/blog/2020/08/22/new-website/index.html
+++ b/blog/2020/08/22/new-website/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">New website for Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="New website for Apache APISIX | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="We are just refactored out website for Apache APISIX by using docusaurus."><meta data-react-helmet="true" propert [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
index dcd0b1c..d86c23f 100644
--- a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@nic-chen, Apache APISIX PMC from Shenz [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s custom requirements. In this case, Envoy needs to [...]
 In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client request data into <code>ctx</code> so that i [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html b/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
index abb8f18..7d3cc61 100644
--- a/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
+++ b/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">初探 Kubernetes Service APIs | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="初探 Kubernetes Service APIs | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@gxthrj, Apache APISIX PMC &amp; Apache apisix-ingress-controller Founder from Shenzhen Zhiliu Technology Co."><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/01/11/interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team/index.html b/blog/2021/01/11/interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team/index.html
index 660643d..fff22d6 100644
--- a/blog/2021/01/11/interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team/index.html
+++ b/blog/2021/01/11/interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 贡献者专访 | 普华永道华南数据安全与隐私保护团队高级安全顾问王鹏诚 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 贡献者专访 | 普华永道华南数据安全与隐私保护团队高级安全顾问王鹏诚 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@moonming, Apache APISIX PMC Chair from Shenzhen Zhiliu Technology Co."><me [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
index 6fc1fae..02cd168 100644
--- a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Run Ingress APISIX on Amazon EKS | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Run Ingress APISIX on Amazon EKS | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@Chao Zhang, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" pr [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token string" style="color:#e3116c">&quot;headers&quot;</span><span class="token builtin class-name">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span> [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
index be60acb..514af7c 100644
--- a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stable Product Delivery with Cypress | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Stable Product Delivery with Cypress | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@LiteSun, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
index cc17c44..df37392 100644
--- a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
+++ b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Apache APISIX from Helm Charts | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Install Apache APISIX from Helm Charts | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div class="token-line" style="color:#393A34"><span class="token plain">apisix/apisix           </span><span class="token number" style="color:#36acaa">0.1</span><span class="token plain">.2           </span><span class="token number" style="color:#36acaa">2.1</span><span class="token plain">.0           A Helm chart </span>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">NAME: apisix-gw</span></div><div class="token-line" style="color:#393A34"><span class="token plain">LAST DEPLOYED: Fri Feb </span><span class="token number" style="color:#36acaa">19</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">11</span><span class="token plain">:34:14 </span><span class="token number" style="color:#36acaa">2021</span><span class="token plain">< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html b/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
index 901e5a3..2ab592e 100644
--- a/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
+++ b/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Get Front-End Test Coverage with Cypress | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Get Front-End Test Coverage with Cypress | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@LiteSun, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html b/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
index 43306b3..f867add 100644
--- a/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
+++ b/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Traffic Split in Apache APISIX Ingress Controller | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Traffic Split in Apache APISIX Ingress Controller | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><me [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git "a/blog/2021/05/25/Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203/index.html" "b/blog/2021/05/25/Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203/index.html"
index eb227b4..c29466c 100644
--- "a/blog/2021/05/25/Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203/index.html"	
+++ "b/blog/2021/05/25/Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203/index.html"	
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 2.6.0-Release 正式发布 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 2.6.0-Release 正式发布 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@spacewander, Core developer of Apache APISIX from Shenzhen Zhiliu Technology Co."><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 目前 APISIX 内置的服务发现功能已支持下列外部服务:</p><ol><li>DNS</li><li>Consul KV mode</li><li>Eureka</li><li>Nacos</li></ol><p>▌<strong>支持:配置 IPv6 的 DNS resolver</strong></p><p>之前配置 APISIX 的 DNS resolver 时,只能配置 IPv4 服务器。从 2.6 版本之后,我们加上了对 IPv6 DNS 服务器的支持。</p><p>现在配置 DNS resolver 的时候,可以写上 IPv6 的服务器地址了。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="下载"></a>下载<a class="hash-link" href="#下载" title="Direct link to heading">#</a></h2><p>下载 Apache APISIX 2.6.0-Release 源代码及二进制安装包,请访问下载页面: <code>htt [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git "a/blog/2021/05/31/\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220/index.html" "b/blog/2021/05/31/\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220/index.html"
index 48e4b49..3799984 100644
--- "a/blog/2021/05/31/\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220/index.html"	
+++ "b/blog/2021/05/31/\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220/index.html"	
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX 实现的服务网格项目正式开源 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="基于 Apache APISIX 实现的服务网格项目正式开源 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX PMC from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" property="og:url [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <code>https://github.com/api7/apisix-mesh-agent/releases/tag/0.6</code></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="文档更新"></a>文档更新<a class="hash-link" href="#文档更新" title="Direct link to heading">#</a></h2><p>在本次发布过程中,我们也在持续更新和发布新的使用文档,欢迎大家提出宝贵的意见。
 <code>https://github.com/api7/apisix-mesh-agent/tree/main/docs</code></p></div></article><div></div><div class="margin-vert--xl"><nav class="pagination-nav" aria-label="Blog post page navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017"><div class="pagination-nav__sublabel">Newer Post</div><div class="pagination-nav__label">« Apache APISIX not affected by NGINX CVE-2021-23017</div></a></di [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html b/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
index 7dc3731..d66ce0f 100644
--- a/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
+++ b/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@Serendipity96, Apache APISIX contributor from Shenzhen Zhiliu Technolo [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/16/Chaos-Mesh-helps-Apache-APISIX-improve-stability/index.html b/blog/2021/06/16/Chaos-Mesh-helps-Apache-APISIX-improve-stability/index.html
index d449af3..d9e9cf7 100644
--- a/blog/2021/06/16/Chaos-Mesh-helps-Apache-APISIX-improve-stability/index.html
+++ b/blog/2021/06/16/Chaos-Mesh-helps-Apache-APISIX-improve-stability/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh 助力 Apache APISIX 提升稳定性 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Chaos Mesh 助力 Apache APISIX 提升稳定性 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@Yiyiyimu,Apache APISIX committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" pro [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/17/Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement/index.html b/blog/2021/06/17/Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement/index.html
index 39dd203..a593c92 100644
--- a/blog/2021/06/17/Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement/index.html
+++ b/blog/2021/06/17/Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Dashboard 访问控制绕过漏洞公告(CVE-2021-33190) | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX Dashboard 访问控制绕过漏洞公告(CVE-2021-33190) | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@juzhiyuan, Apache APISIX PMC from Shenzhen Zhiliu Technology Co."><met [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released/index.html b/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released/index.html
index 9cc195b..e969997 100644
--- a/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released/index.html
+++ b/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Ingress Controller 首个 GA 版本 v1.0 正式发布! | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX Ingress Controller 首个 GA 版本 v1.0 正式发布! | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@tao12345666333, Apache APISIX commiter from Shenzhen Zhiliu Techno [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/index.html b/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/index.html
index ca0db6d..4a43cd9 100644
--- a/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/index.html
+++ b/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Java 编写 Apache APISIX 插件 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="使用 Java 编写 Apache APISIX 插件 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@tzssangglass, Apache APISIX contributor from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" property [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,7 +35,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        // token verification results</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        if (!flag) {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">            String rejected_code = (String) conf.get(&quot;rejected_code&quot;);</span></div><div class="token-line" style="color:#393A34"><span class="token plain">            res [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        return chain.filter(request, response);</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    }</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    private Boolean validate(String token, String validate_url) {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        //TODO: improve the validation process</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        return true;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    }</span></div><di [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast/index.html b/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast/index.html
index da31555..db510ba 100644
--- a/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast/index.html
+++ b/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Rancher × Apache APISIX: 极速部署更好用的开源网关和 Ingress Controller | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Rancher × Apache APISIX: 极速部署更好用的开源网关和 Ingress Controller | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@tao12345666333, Apache APISIX commiter from Shenzhen Zhi [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 在终端下测试是否代理成功:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">root@apisix:~$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://172.18.0.2:32763/get -H </span><span class="t [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/29/release-apache-apisix-2.7-en/index.html b/blog/2021/06/29/release-apache-apisix-2.7-en/index.html
index c27b2b2..4112eda 100644
--- a/blog/2021/06/29/release-apache-apisix-2.7-en/index.html
+++ b/blog/2021/06/29/release-apache-apisix-2.7-en/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.7.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.7.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@Serendipity96, Apache APISIX contributor from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" propert [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/29/release-apache-apisix-2.7/index.html b/blog/2021/06/29/release-apache-apisix-2.7/index.html
index efb14f5..b475d2e 100644
--- a/blog/2021/06/29/release-apache-apisix-2.7/index.html
+++ b/blog/2021/06/29/release-apache-apisix-2.7/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 2.7.0-Release 正式发布 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 2.7.0-Release 正式发布 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@spacewander, Core developer of Apache APISIX from Shenzhen Zhiliu Technology Co."><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html b/blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html
index 5f7c85d..32dd3b9 100644
--- a/blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html
+++ b/blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">差之毫厘:etcd 3 完美支持 HTTP 访问? | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="差之毫厘:etcd 3 完美支持 HTTP 访问? | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@spacewander, Core developer of Apache APISIX from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" propert [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/06/celebrate-200-contributors/index.html b/blog/2021/07/06/celebrate-200-contributors/index.html
index 1abbb16..f13272b 100644
--- a/blog/2021/07/06/celebrate-200-contributors/index.html
+++ b/blog/2021/07/06/celebrate-200-contributors/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@Serendipity96, Apache APISIX contributor from Shen [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 Welcome to join the Apache APISIX community, welcome to use Apache APISIX!</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="contributors-say"></a>Contributors Say<a class="hash-link" href="#contributors-say" title="Direct link to heading">#</a></h2><p>When reaching 200 contributors, the controbutors in the community sent their blessings to Apache APISIX. Here are what they want to say to Apache APISIX.</p><p><a href="https://github.com/juzhiyuan" target="_blank" rel="noopene [...]
 community activity</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="join-the-apache-apisix-community"></a>Join the Apache APISIX community<a class="hash-link" href="#join-the-apache-apisix-community" title="Direct link to heading">#</a></h2><p>Sincerely invite you to join the Apache APISIX open source community, let us work together to create the best API gateway in the cloud-native era!</p><p>There is no barrier to becoming an Apache APISIX contributor. In the Apache APISIX [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX/index.html b/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX/index.html
index b5105bd..dd11b60 100644
--- a/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX/index.html
+++ b/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX,新浪微博 API 网关的定制化开发之路 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="基于 Apache APISIX,新浪微博 API 网关的定制化开发之路 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="聂永,微博基础架构师,开源爱好者,爱折腾追求 Geek。"><meta data-react-helmet="true" property="og:url" content="https://api [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply/index.html b/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply/index.html
index 12b7026..f8d8646 100644
--- a/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply/index.html
+++ b/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">深度剖析 Apache APISIX Mesh Agent | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="深度剖析 Apache APISIX Mesh Agent | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX PMC from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" property="og:url"  [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic"># 该路由匹配时需要判断对应连接原始的目标地址是否是 &quot;10.0.5.113:8000&quot;,即</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic"># httpbin.default.svc.cluster.local 这一服务的 ClusterIP(只考虑 Kubernetes</span><span  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token string" style="color:#e3116c">&quot;vars&quot;</span><span class="token builtin class-name">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">[</span [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic"># upstream_id 定义了 httpbin.default.svc.cluster.local 这一服务,</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic"># 包含其最新的实例地址和其他相关的负载均衡、健康检查等配置。</span><span class="token plain"></span></div>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 3c7292e..23e7952 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//blog"><meta data-react-helmet="true" name="docsearch:language" content=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/2/index.html b/blog/page/2/index.html
index 4afe61c..5480d4a 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//blog/page/2"><meta data-react-helmet="true" name="docsearch:language" co [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/3/index.html b/blog/page/3/index.html
index 5d839ab..f748773 100644
--- a/blog/page/3/index.html
+++ b/blog/page/3/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//blog/page/3"><meta data-react-helmet="true" name="docsearch:language" co [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/FAQ/index.html b/docs/apisix/2.4/FAQ/index.html
index 8d0d797..67bda7a 100644
--- a/docs/apisix/2.4/FAQ/index.html
+++ b/docs/apisix/2.4/FAQ/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/FAQ"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ Run the <code>luarocks config rocks_servers</code> command(this command is suppo
 </span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">These open issues may also help:</span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">Can&#x27;</span><span class="token plain">t </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> openresty on macOS </span><span class="token number" style="color:#36acaa">10.15</span><span class="t [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Error: A newer Command Line Tools release is available.</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Update them from Software Update </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> System Preferences or</span></div><div class="token-line" style="color:#393A34"><span class="token plain">https://developer.apple.com/downloa [...]
 See the <code>Hot reload</code> section in <a href="/docs/apisix/2.4/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests" title="Direct link to heading">#</a></h2><p [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/IGNORE_DOC/index.html b/docs/apisix/2.4/IGNORE_DOC/index.html
index 75ec2d1..5ca5644 100644
--- a/docs/apisix/2.4/IGNORE_DOC/index.html
+++ b/docs/apisix/2.4/IGNORE_DOC/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/IGNORE_DOC"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/admin-api/index.html b/docs/apisix/2.4/admin-api/index.html
index 6ac730a..7c80436 100644
--- a/docs/apisix/2.4/admin-api/index.html
+++ b/docs/apisix/2.4/admin-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/admin-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -79,7 +79,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">After the execution is successful, nodes will not retain the original data, and the entire update is:</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" sty [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/ssl/{id}</p><p><em>Description</em>:SSL. [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span></ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/index.html b/docs/apisix/2.4/architecture-design/index.html
index ae80669..1eced70 100644
--- a/docs/apisix/2.4/architecture-design/index.html
+++ b/docs/apisix/2.4/architecture-design/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/architecture-design"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/aws/index.html b/docs/apisix/2.4/aws/index.html
index 5b21d75..a9fe0f7 100644
--- a/docs/apisix/2.4/aws/index.html
+++ b/docs/apisix/2.4/aws/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/aws"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></div><div class [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/batch-processor/index.html b/docs/apisix/2.4/batch-processor/index.html
index c32e016..af65227 100644
--- a/docs/apisix/2.4/batch-processor/index.html
+++ b/docs/apisix/2.4/batch-processor/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/batch-processor"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#393A34"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Note: Please make sure th [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/benchmark/index.html b/docs/apisix/2.4/benchmark/index.html
index ef0b86f..52db4a0 100644
--- a/docs/apisix/2.4/benchmark/index.html
+++ b/docs/apisix/2.4/benchmark/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/benchmark"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" width="70%" height="70%"><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="latency-1"></a>Latency<a class="hash-link" href="#latenc [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/control-api/index.html b/docs/apisix/2.4/control-api/index.html
index 29aec76..43e87d5 100644
--- a/docs/apisix/2.4/control-api/index.html
+++ b/docs/apisix/2.4/control-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/control-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ If a plugin adds such a control API, please refer to each plugin&#x27;s document
 of fields like <code>consumer_schema</code> or <code>type</code>, it is dependended by the plugin&#x27;s
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.4/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/customize-nginx-configuration/index.html b/docs/apisix/2.4/customize-nginx-configuration/index.html
index 5135a83..fd27f26 100644
--- a/docs/apisix/2.4/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.4/customize-nginx-configuration/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/customize-nginx-configuration"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-reac [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-line" style=" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></div><div class="token-line" style="color:#393A34"><span class="token scalar stri [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/debug-function/index.html b/docs/apisix/2.4/debug-function/index.html
index 014218c..96f4014 100644
--- a/docs/apisix/2.4/debug-function/index.html
+++ b/docs/apisix/2.4/debug-function/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/debug-function"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/discovery/consul_kv/index.html b/docs/apisix/2.4/discovery/consul_kv/index.html
index faefbb5..8c01215 100644
--- a/docs/apisix/2.4/discovery/consul_kv/index.html
+++ b/docs/apisix/2.4/discovery/consul_kv/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/discovery/consul_kv"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></div><div class=" [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/discovery/index.html b/docs/apisix/2.4/discovery/index.html
index 11e973e..d8d5697 100644
--- a/docs/apisix/2.4/discovery/index.html
+++ b/docs/apisix/2.4/discovery/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/discovery"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 GMT [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/dns/index.html b/docs/apisix/2.4/dns/index.html
index 46c596c..392168a 100644
--- a/docs/apisix/2.4/dns/index.html
+++ b/docs/apisix/2.4/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
index d064cce..c38b3ac 100644
--- a/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2 [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -55,7 +55,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></div><div class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct link to heading">#</a [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span cla [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/getting-started/index.html b/docs/apisix/2.4/getting-started/index.html
index d8ff2c9..b74f65c 100644
--- a/docs/apisix/2.4/getting-started/index.html
+++ b/docs/apisix/2.4/getting-started/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/getting-started"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ a web application to perform the similar. The dashboard is available in the foll
 <a href="https://github.com/apache/apisix" target="_blank" rel="noopener noreferrer">repository</a>. The dashboard is intuitive and you can orchestrate the
 same route configurations via the dashboard as well.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/dashboard.png" alt="Dashboard"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="troubleshooting"></a>Troubleshooting<a class="hash-link" href="#troubleshooting" title="Direct link to heading">#</a></h3><ul><li><p>Make sure the required ports are not being used by other systems/processes (The default ports are: 9080, 9443, 2379).
 The following is the command to kill a process which is listening to a specific port (in unix based systems).</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">``</span><span class="token variable" style="color:#36acaa">`</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/grpc-proxy/index.html b/docs/apisix/2.4/grpc-proxy/index.html
index d26de5a..b4a0080 100644
--- a/docs/apisix/2.4/grpc-proxy/index.html
+++ b/docs/apisix/2.4/grpc-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/grpc-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li></ul><h3><a aria-hidden="true" tabindex="-1" c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/health-check/index.html b/docs/apisix/2.4/health-check/index.html
index 28bdc70..1d7fdf5 100644
--- a/docs/apisix/2.4/health-check/index.html
+++ b/docs/apisix/2.4/health-check/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/health-check"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 you can use it for upstream.</p><p>Note that we only start the health check when the upstream is hit by a request.
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</p><p>The following is an example of health check:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span> [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/how-to-build/index.html b/docs/apisix/2.4/how-to-build/index.html
index e1d793d..f524253 100644
--- a/docs/apisix/2.4/how-to-build/index.html
+++ b/docs/apisix/2.4/how-to-build/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/how-to-build"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ see how to do it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="
 make sure to set openresty as default nginx. And export the path as below.</li></ul><ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH<ul><li>Linux default installation path:<ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH</li></ul></li><li>OSx default installation path via homebrew:<ul><li>export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH</li></ul></li></ul></li></ul><p><strong>Run Individual Test Cases</strong></p><ul><li>Use the following command to run test cases  [...]
 Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token- [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes?api_key</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color: [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/https/index.html b/docs/apisix/2.4/https/index.html
index 408fdba..51e7936 100644
--- a/docs/apisix/2.4/https/index.html
+++ b/docs/apisix/2.4/https/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/https"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusaurus_tag"  [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/install-dependencies/index.html b/docs/apisix/2.4/install-dependencies/index.html
index 3cd6356..67b280b 100644
--- a/docs/apisix/2.4/install-dependencies/index.html
+++ b/docs/apisix/2.4/install-dependencies/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/install-dependencies"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></div></div></div><butt [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">etcd </span><span class="token operator" style="color:#393A34">&amp;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="di [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># enable TLS for etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operator" style="color:#393A [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/mtls/index.html b/docs/apisix/2.4/mtls/index.html
index 7c0fab4..175600b 100644
--- a/docs/apisix/2.4/mtls/index.html
+++ b/docs/apisix/2.4/mtls/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/mtls"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsear [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">mtls</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">enable</span><span class="token punctuation" style="color:#393A34">:</span><span class="token pla [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugin-develop/index.html b/docs/apisix/2.4/plugin-develop/index.html
index 3bcfcc3..5c7854b 100644
--- a/docs/apisix/2.4/plugin-develop/index.html
+++ b/docs/apisix/2.4/plugin-develop/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugin-develop"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -54,7 +54,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.4/control-api">Control API</a>.</p><p>Take a look at example-plugin plugin:</p>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    return {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></div><div class="token-line" style="color:#393A34"><span c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugin-interceptors/index.html b/docs/apisix/2.4/plugin-interceptors/index.html
index ae1585b..8e8e640 100644
--- a/docs/apisix/2.4/plugin-interceptors/index.html
+++ b/docs/apisix/2.4/plugin-interceptors/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugin-interceptors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/plug [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.4/plugins/ip-restriction">ip-restriction</a></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/api-breaker/index.html b/docs/apisix/2.4/plugins/api-breaker/index.html
index 58cd9c3..e8aba33 100644
--- a/docs/apisix/2.4/plugins/api-breaker/index.html
+++ b/docs/apisix/2.4/plugins/api-breaker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/api-breaker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>D [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/authz-keycloak/index.html b/docs/apisix/2.4/plugins/authz-keycloak/index.html
index b8f559d..5d1e254 100644
--- a/docs/apisix/2.4/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.4/plugins/authz-keycloak/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/authz-keycloak"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class="to [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspect [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/basic-auth/index.html b/docs/apisix/2.4/plugins/basic-auth/index.html
index 4cc784b..2afbe44 100644
--- a/docs/apisix/2.4/plugins/basic-auth/index.html
+++ b/docs/apisix/2.4/plugins/basic-auth/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/basic-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/batch-requests/index.html b/docs/apisix/2.4/plugins/batch-requests/index.html
index 073fd53..b81328e 100644
--- a/docs/apisix/2.4/plugins/batch-requests/index.html
+++ b/docs/apisix/2.4/plugins/batch-requests/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/batch-requests"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Default enabled</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-configure"></a>How To Configure<a class="hash-link" href="#how-to-configure" title="Direct link to heading">#</a></h2><p>By def [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/ad [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/consumer-restriction/index.html b/docs/apisix/2.4/plugins/consumer-restriction/index.html
index ebd0f7b..7c06aab 100644
--- a/docs/apisix/2.4/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/consumer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/consumer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style="c [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/cors/index.html b/docs/apisix/2.4/plugins/cors/index.html
index bc09a22..80ca84e 100644
--- a/docs/apisix/2.4/plugins/cors/index.html
+++ b/docs/apisix/2.4/plugins/cors/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/cors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and configure <code>cors</code> plugin.</p><div clas [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/dubbo-proxy/index.html b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
index 13250e8..c71601c 100644
--- a/docs/apisix/2.4/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/dubbo-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ They should provide the same result.</p><h2><a aria-hidden="true" tabindex="-1"
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="token  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/echo/index.html b/docs/apisix/2.4/plugins/echo/index.html
index 597799c..4ef6a62 100644
--- a/docs/apisix/2.4/plugins/echo/index.html
+++ b/docs/apisix/2.4/plugins/echo/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/echo"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/error-log-logger/index.html b/docs/apisix/2.4/plugins/error-log-logger/index.html
index 3093470..705285f 100644
--- a/docs/apisix/2.4/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.4/plugins/error-log-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/error-log-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr> [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctu [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/fault-injection/index.html b/docs/apisix/2.4/plugins/fault-injection/index.html
index 69fb7f0..1eacb01 100644
--- a/docs/apisix/2.4/plugins/fault-injection/index.html
+++ b/docs/apisix/2.4/plugins/fault-injection/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/fault-injection"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockContainer_K1bP" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediate [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/grpc-transcode/index.html b/docs/apisix/2.4/plugins/grpc-transcode/index.html
index fddfdd1..98710ec 100644
--- a/docs/apisix/2.4/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.4/plugins/grpc-transcode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/grpc-transcode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><span  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/11 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/hmac-auth/index.html b/docs/apisix/2.4/plugins/hmac-auth/index.html
index ffcb12b..b78d5cc 100644
--- a/docs/apisix/2.4/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.4/plugins/hmac-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/hmac-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/http-logger/index.html b/docs/apisix/2.4/plugins/http-logger/index.html
index b04fc6b..8708d97 100644
--- a/docs/apisix/2.4/plugins/http-logger/index.html
+++ b/docs/apisix/2.4/plugins/http-logger/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/http-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/index.html b/docs/apisix/2.4/plugins/index.html
index 421e29e..3a8f127 100644
--- a/docs/apisix/2.4/plugins/index.html
+++ b/docs/apisix/2.4/plugins/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusaurus_t [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.4/stand-alone">stand alone mode</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/ap [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/ip-restriction/index.html b/docs/apisix/2.4/plugins/ip-restriction/index.html
index 2c09e8f..fb29cbf 100644
--- a/docs/apisix/2.4/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ip-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/ip-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/jwt-auth/index.html b/docs/apisix/2.4/plugins/jwt-auth/index.html
index 7bd993a..d2eebc1 100644
--- a/docs/apisix/2.4/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.4/plugins/jwt-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/jwt-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors<
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:#393A34">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/kafka-logger/index.html b/docs/apisix/2.4/plugins/kafka-logger/index.html
index 2cc0dca..1ee31a6 100644
--- a/docs/apisix/2.4/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.4/plugins/kafka-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/kafka-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class=" [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/key-auth/index.html b/docs/apisix/2.4/plugins/key-auth/index.html
index 3b53173..7d43a4b 100644
--- a/docs/apisix/2.4/plugins/key-auth/index.html
+++ b/docs/apisix/2.4/plugins/key-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/key-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">40 [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/limit-conn/index.html b/docs/apisix/2.4/plugins/limit-conn/index.html
index 6ab534b..b8a8187 100644
--- a/docs/apisix/2.4/plugins/limit-conn/index.html
+++ b/docs/apisix/2.4/plugins/limit-conn/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/limit-conn"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/limit-count/index.html b/docs/apisix/2.4/plugins/limit-count/index.html
index bab896b..279e8f4 100644
--- a/docs/apisix/2.4/plugins/limit-count/index.html
+++ b/docs/apisix/2.4/plugins/limit-count/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-connt | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/limit-count"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token ope [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/limit-req/index.html b/docs/apisix/2.4/plugins/limit-req/index.html
index 3b7c903..535bee9 100644
--- a/docs/apisix/2.4/plugins/limit-req/index.html
+++ b/docs/apisix/2.4/plugins/limit-req/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/limit-req"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">html</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/log-rotate/index.html b/docs/apisix/2.4/plugins/log-rotate/index.html
index a2cd093..ef2ffc5 100644
--- a/docs/apisix/2.4/plugins/log-rotate/index.html
+++ b/docs/apisix/2.4/plugins/log-rotate/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/log-rotate"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ When the number of log files exceeds the remaining number, the old files are aut
 For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></div><div class="token-line" style="color:#393A [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctu [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">plugin_attr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">log-rotate</span><span class="token punctuation" style="color:#393A34">:</span><span class=" [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/mqtt-proxy/index.html b/docs/apisix/2.4/plugins/mqtt-proxy/index.html
index 394ae66..c9503ce 100644
--- a/docs/apisix/2.4/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.4/plugins/mqtt-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/mqtt-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 balance by <code>client_id</code> of MQTT.</p><p>And this plugin both support MQTT protocol <a href="http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html" target="_blank" rel="noopener noreferrer">3.1.*</a> and <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html" target="_blank" rel="noopener noreferrer">5.0</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link t [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">...</span><span class="token p [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/node-status/index.html b/docs/apisix/2.4/plugins/node-status/index.html
index 4c5e542..e6a6e8b 100644
--- a/docs/apisix/2.4/plugins/node-status/index.html
+++ b/docs/apisix/2.4/plugins/node-status/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/node-status"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ And this plugin will not make any difference in future requests, so usually we d
 then you can not add this plugin in any route.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</sp [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly sh"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/openid-connect/index.html b/docs/apisix/2.4/plugins/openid-connect/index.html
index cb34cbc..c18ccc0 100644
--- a/docs/apisix/2.4/plugins/openid-connect/index.html
+++ b/docs/apisix/2.4/plugins/openid-connect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/openid-connect"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,7 @@ Once the user has authenticated against the identity provider, the plugin will o
 and further information from the identity provider on behalf of the user. The information is currently stored
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
 and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</sp [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/prometheus/index.html b/docs/apisix/2.4/plugins/prometheus/index.html
index 4b8708c..e42433b 100644
--- a/docs/apisix/2.4/plugins/prometheus/index.html
+++ b/docs/apisix/2.4/plugins/prometheus/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/prometheus"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors<
 any options yet.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </span><span class="token stri [...]
 these metric data.</p><p>For example like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">scrape_configs</span><span class="token punctuation" style="color:#393A34">:</span><span class="token pl [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/proxy-cache/index.html b/docs/apisix/2.4/plugins/proxy-cache/index.html
index 32f561c..32250f7 100644
--- a/docs/apisix/2.4/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.4/plugins/proxy-cache/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/proxy-cache"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>http status is &#x27;200&#x27; and the response header contains &#x27;Apisix-Cache-Status&#x27; to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</li></ol><div cl [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache area <code>disk_c [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token ope [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/proxy-mirror/index.html b/docs/apisix/2.4/plugins/proxy-mirror/index.html
index 7fd0c3f..ed6b8cc 100644
--- a/docs/apisix/2.4/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.4/plugins/proxy-mirror/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/proxy-mirror"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>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</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/proxy-rewrite/index.html b/docs/apisix/2.4/plugins/proxy-rewrite/index.html
index 67baa4a..d4fff70 100644
--- a/docs/apisix/2.4/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/proxy-rewrite/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/proxy-rewrite"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/redirect/index.html b/docs/apisix/2.4/plugins/redirect/index.html
index 8824dc1..1a8053b 100644
--- a/docs/apisix/2.4/plugins/redirect/index.html
+++ b/docs/apisix/2.4/plugins/redirect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/redirect"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is an example of r [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/referer-restriction/index.html b/docs/apisix/2.4/plugins/referer-restriction/index.html
index c2569c2..9ef0fa6 100644
--- a/docs/apisix/2.4/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/referer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/referer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 whitelisting request header Referrers.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>whitelist</td><td>array[string]</td><td>required</td><td></td><td></td><td>List of hostname to whitelist. The hostname can be started with <co [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/request-id/index.html b/docs/apisix/2.4/plugins/request-id/index.html
index ac86bd0..435d325 100644
--- a/docs/apisix/2.4/plugins/request-id/index.html
+++ b/docs/apisix/2.4/plugins/request-id/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/request-id"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td>string</td><td>optional</td><td>&quot;X-Requ [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/request-validation/index.html b/docs/apisix/2.4/plugins/request-validation/index.html
index 9c531a3..14237fd 100644
--- a/docs/apisix/2.4/plugins/request-validation/index.html
+++ b/docs/apisix/2.4/plugins/request-validation/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/request-validation"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 json-schema to validate the schema. The plugin can be used to validate the headers and body data.</p><p>For more information on schema, refer to <a href="https://github.com/api7/jsonschema" target="_blank" rel="noopener noreferrer">JSON schema</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requi [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/response-rewrite/index.html b/docs/apisix/2.4/plugins/response-rewrite/index.html
index fa09609..84280fd 100644
--- a/docs/apisix/2.4/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/response-rewrite/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/response-rewrite"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;code&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;ok&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">: [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/server-info/index.html b/docs/apisix/2.4/plugins/server-info/index.html
index fc429a0..cced209 100644
--- a/docs/apisix/2.4/plugins/server-info/index.html
+++ b/docs/apisix/2.4/plugins/server-info/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/server-info"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/serverless/index.html b/docs/apisix/2.4/plugins/serverless/index.html
index bff4807..9465c1e 100644
--- a/docs/apisix/2.4/plugins/serverless/index.html
+++ b/docs/apisix/2.4/plugins/serverless/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/serverless"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/skywalking/index.html b/docs/apisix/2.4/plugins/skywalking/index.html
index 4f19df7..87d3ed4 100644
--- a/docs/apisix/2.4/plugins/skywalking/index.html
+++ b/docs/apisix/2.4/plugins/skywalking/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/skywalking"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token namespace" style="opacity:0.7">org</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">springframework</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><sp [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">/**</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * @author cyxinda</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * @create 2020-05-29 14:02</span></div><div class="token [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">agent.service_name</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">yourservername</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/sls-logger/index.html b/docs/apisix/2.4/plugins/sls-logger/index.html
index a40f9e1..d42ee10 100644
--- a/docs/apisix/2.4/plugins/sls-logger/index.html
+++ b/docs/apisix/2.4/plugins/sls-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/sls-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a href="https://help.aliyun.com/document_detail/29008 [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/syslog/index.html b/docs/apisix/2.4/plugins/syslog/index.html
index b79cc8d..e62669c 100644
--- a/docs/apisix/2.4/plugins/syslog/index.html
+++ b/docs/apisix/2.4/plugins/syslog/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/syslog"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/tcp-logger/index.html b/docs/apisix/2.4/plugins/tcp-logger/index.html
index 661a8fb..2bfd272 100644
--- a/docs/apisix/2.4/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.4/plugins/tcp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/tcp-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/traffic-split/index.html b/docs/apisix/2.4/plugins/traffic-split/index.html
index bd261eb..eab5c5b 100644
--- a/docs/apisix/2.4/plugins/traffic-split/index.html
+++ b/docs/apisix/2.4/plugins/traffic-split/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/traffic-split"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -34,7 +34,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#39 [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification of two <code> [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to remove the  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/udp-logger/index.html b/docs/apisix/2.4/plugins/udp-logger/index.html
index 6e31be3..b85a147 100644
--- a/docs/apisix/2.4/plugins/udp-logger/index.html
+++ b/docs/apisix/2.4/plugins/udp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/udp-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the UDP server.</td></tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/uri-blocker/index.html b/docs/apisix/2.4/plugins/uri-blocker/index.html
index 55dd4a3..9fe6100 100644
--- a/docs/apisix/2.4/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.4/plugins/uri-blocker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/uri-blocker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>D [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/wolf-rbac/index.html b/docs/apisix/2.4/plugins/wolf-rbac/index.html
index 59b2980..12935b1 100644
--- a/docs/apisix/2.4/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.4/plugins/wolf-rbac/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/wolf-rbac"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string"  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/zipkin/index.html b/docs/apisix/2.4/plugins/zipkin/index.html
index 72ea6df..ac68117 100644
--- a/docs/apisix/2.4/plugins/zipkin/index.html
+++ b/docs/apisix/2.4/plugins/zipkin/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/zipkin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></div><div class="token-line" style="color:#393A34"><s [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/powered-by/index.html b/docs/apisix/2.4/powered-by/index.html
index 6779293..0268fee 100644
--- a/docs/apisix/2.4/powered-by/index.html
+++ b/docs/apisix/2.4/powered-by/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/powered-by"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 or providing commercial products including APISIX.</p><p>Users are encouraged to add themselves to this page, <a href="https://github.com/apache/apisix/issues/487" target="_blank" rel="noopener noreferrer">issue</a> and PR are welcomed.</p><ol><li><a href="https://hy.10086.cn/" target="_blank" rel="nofollow">中移杭研</a></li><li><a href="http://www.163.com" target="_blank" rel="nofollow">Netease 网易</a></li><li><a href="https://www.360.cn/" target="_blank" rel="nofollow">360 奇虎</a></li><li><a [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/profile/index.html b/docs/apisix/2.4/profile/index.html
index c767836..1e255ce 100644
--- a/docs/apisix/2.4/profile/index.html
+++ b/docs/apisix/2.4/profile/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/profile"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta d [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ requirements, we need to change the parameters in the configuration file to the
 development environment. You have to change it back. It&#x27;s very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
 between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
 tools such as git can be configured, and version management can be better achieved.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/router-radixtree/index.html b/docs/apisix/2.4/router-radixtree/index.html
index c0496fa..400bc79 100644
--- a/docs/apisix/2.4/router-radixtree/index.html
+++ b/docs/apisix/2.4/router-radixtree/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/router-radixtree"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </spa [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">graphql</span><span class="token punctuation" style="color:#393A34">:</span><span class=" [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If you need to pass a graphql body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/router-radixtree.md" target="_blank" rel="noreferrer noopener"><svg fill= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/stand-alone/index.html b/docs/apisix/2.4/stand-alone/index.html
index 3fb896c..778b8e6 100644
--- a/docs/apisix/2.4/stand-alone/index.html
+++ b/docs/apisix/2.4/stand-alone/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/stand-alone"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 the APISIX will check if this file has any changed every second.
 If the file changed and we found <code>#END</code> at the end of the file,
 APISIX will load the rules in this file and update to memory of APISIX.</p><p>Here is a mini example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" style [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/stream-proxy/index.html b/docs/apisix/2.4/stream-proxy/index.html
index 132acac..8b7188f 100644
--- a/docs/apisix/2.4/stream-proxy/index.html
+++ b/docs/apisix/2.4/stream-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/stream-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 By default, no any stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/FAQ/index.html b/docs/apisix/2.5/FAQ/index.html
index c1de28c..03dc94a 100644
--- a/docs/apisix/2.5/FAQ/index.html
+++ b/docs/apisix/2.5/FAQ/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/FAQ"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ For China mainland users, you can use the <code>luarocks.cn</code> as the luaroc
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Error: A newer Command Line Tools release is available.</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Update them from Software Update </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> System Preferences or</span></div><div class="token-line" style="color:#393A34"><span class="token plain">https://developer.apple.com/downloa [...]
 See the <code>Hot reload</code> section in <a href="/docs/apisix/2.5/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests" title="Direct link to heading">#</a></h2><p [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># The uri match failed</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/12ab -i</span></div><div class="token-line" style="color:#393A34"><span cl [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/IGNORE_DOC/index.html b/docs/apisix/2.5/IGNORE_DOC/index.html
index 5d13932..304eca6 100644
--- a/docs/apisix/2.5/IGNORE_DOC/index.html
+++ b/docs/apisix/2.5/IGNORE_DOC/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/IGNORE_DOC"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/admin-api/index.html b/docs/apisix/2.5/admin-api/index.html
index 3b21be7..99649a8 100644
--- a/docs/apisix/2.5/admin-api/index.html
+++ b/docs/apisix/2.5/admin-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/admin-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -81,7 +81,7 @@
 used when all the nodes with higher priority are unavailable or tried.</p><p>As the default priority is 0, we can configure nodes with negative priority as the backup.</p><p>For example,</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token [...]
 Therefore it is the backup of <code>127.0.0.1</code>.</p><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/ssl/{id}</p><p><em>Description</em>:SSL.</p><blockquote><p>Request Methods:</p></blockquote><table><thead><tr><th>M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span></ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/apisix/index.html b/docs/apisix/2.5/architecture-design/apisix/index.html
index 973398b..131a62a 100644
--- a/docs/apisix/2.5/architecture-design/apisix/index.html
+++ b/docs/apisix/2.5/architecture-design/apisix/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/apisix"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">host</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/consumer/index.html b/docs/apisix/2.5/architecture-design/consumer/index.html
index 4a3c0e8..1e2e8f5 100644
--- a/docs/apisix/2.5/architecture-design/consumer/index.html
+++ b/docs/apisix/2.5/architecture-design/consumer/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/consumer"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.5/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34 [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><span cl [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/debug-mode/index.html b/docs/apisix/2.5/architecture-design/debug-mode/index.html
index 6bd6e1b..ded5dc1 100644
--- a/docs/apisix/2.5/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.5/architecture-design/debug-mode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/debug-mode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/global-rule/index.html b/docs/apisix/2.5/architecture-design/global-rule/index.html
index 38f373a..31cb0c3 100644
--- a/docs/apisix/2.5/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.5/architecture-design/global-rule/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/global-rule"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 We can register a global <a href="/docs/apisix/2.5/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token pl [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/index.html b/docs/apisix/2.5/architecture-design/index.html
index 7a15e1f..1580b2b 100644
--- a/docs/apisix/2.5/architecture-design/index.html
+++ b/docs/apisix/2.5/architecture-design/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/plugin-config/index.html b/docs/apisix/2.5/architecture-design/plugin-config/index.html
index 41de309..38e7e36 100644
--- a/docs/apisix/2.5/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin-config/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/plugin-config"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain"> [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color:#e31 [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/plugin/index.html b/docs/apisix/2.5/architecture-design/plugin/index.html
index 91a6cc4..970ab00 100644
--- a/docs/apisix/2.5/architecture-design/plugin/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/plugin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/route/index.html b/docs/apisix/2.5/architecture-design/route/index.html
index 27c8d80..17018a2 100644
--- a/docs/apisix/2.5/architecture-design/route/index.html
+++ b/docs/apisix/2.5/architecture-design/route/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/route"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 GMT [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/router/index.html b/docs/apisix/2.5/architecture-design/router/index.html
index e311bee..b3027ae 100644
--- a/docs/apisix/2.5/architecture-design/router/index.html
+++ b/docs/apisix/2.5/architecture-design/router/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/router"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/script/index.html b/docs/apisix/2.5/architecture-design/script/index.html
index 0135ba6..780190d 100644
--- a/docs/apisix/2.5/architecture-design/script/index.html
+++ b/docs/apisix/2.5/architecture-design/script/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/script"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/service/index.html b/docs/apisix/2.5/architecture-design/service/index.html
index 14add11..21e1c10 100644
--- a/docs/apisix/2.5/architecture-design/service/index.html
+++ b/docs/apisix/2.5/architecture-design/service/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/service"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/100 -H </span><span  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style="c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/upstream/index.html b/docs/apisix/2.5/architecture-design/upstream/index.html
index fec0e61..a39eb8f 100644
--- a/docs/apisix/2.5/architecture-design/upstream/index.html
+++ b/docs/apisix/2.5/architecture-design/upstream/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/upstream"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/aws/index.html b/docs/apisix/2.5/aws/index.html
index fa0fa3a..5d244b3 100644
--- a/docs/apisix/2.5/aws/index.html
+++ b/docs/apisix/2.5/aws/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/aws"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></div><div class [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/batch-processor/index.html b/docs/apisix/2.5/batch-processor/index.html
index 179168d..a662faa 100644
--- a/docs/apisix/2.5/batch-processor/index.html
+++ b/docs/apisix/2.5/batch-processor/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/batch-processor"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#393A34"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Note: Please make sure th [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/benchmark/index.html b/docs/apisix/2.5/benchmark/index.html
index c92fe4f..5f9fe7d 100644
--- a/docs/apisix/2.5/benchmark/index.html
+++ b/docs/apisix/2.5/benchmark/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/benchmark"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="latency-1"></a>Latency<a class="hash-link" href="#latenc [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/control-api/index.html b/docs/apisix/2.5/control-api/index.html
index dbfbfc7..09a3dea 100644
--- a/docs/apisix/2.5/control-api/index.html
+++ b/docs/apisix/2.5/control-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/control-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ If a plugin adds such a control API, please refer to each plugin&#x27;s document
 of fields like <code>consumer_schema</code> or <code>type</code>, it is depended on by the plugin&#x27;s
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.5/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/customize-nginx-configuration/index.html b/docs/apisix/2.5/customize-nginx-configuration/index.html
index 7d16fed..db78de3 100644
--- a/docs/apisix/2.5/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.5/customize-nginx-configuration/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/customize-nginx-configuration"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-reac [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-line" style=" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></div><div class="token-line" style="color:#393A34"><span class="token scalar stri [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/debug-function/index.html b/docs/apisix/2.5/debug-function/index.html
index eeb9367..54ee7b9 100644
--- a/docs/apisix/2.5/debug-function/index.html
+++ b/docs/apisix/2.5/debug-function/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/debug-function"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/consul_kv/index.html b/docs/apisix/2.5/discovery/consul_kv/index.html
index c40069b..b315f9e 100644
--- a/docs/apisix/2.5/discovery/consul_kv/index.html
+++ b/docs/apisix/2.5/discovery/consul_kv/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/discovery/consul_kv"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></div><div class=" [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/dns/index.html b/docs/apisix/2.5/discovery/dns/index.html
index 2574b4f..e56683c 100644
--- a/docs/apisix/2.5/discovery/dns/index.html
+++ b/docs/apisix/2.5/discovery/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/discovery/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3- [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/index.html b/docs/apisix/2.5/discovery/index.html
index 9d29dec..451429c 100644
--- a/docs/apisix/2.5/discovery/index.html
+++ b/docs/apisix/2.5/discovery/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/discovery"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -32,7 +32,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 GMT [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/dns/index.html b/docs/apisix/2.5/dns/index.html
index 05bc06c..2a09f32 100644
--- a/docs/apisix/2.5/dns/index.html
+++ b/docs/apisix/2.5/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html
index 3faa0e3..b96094e 100644
--- a/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2 [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -55,7 +55,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></div><div class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct link to heading">#</a [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span cla [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/getting-started/index.html b/docs/apisix/2.5/getting-started/index.html
index 402a7ff..7341849 100644
--- a/docs/apisix/2.5/getting-started/index.html
+++ b/docs/apisix/2.5/getting-started/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/getting-started"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ a web application to perform the similar. The dashboard is available in the foll
 <a href="https://github.com/apache/apisix" target="_blank" rel="noopener noreferrer">repository</a>. The dashboard is intuitive and you can orchestrate the
 same route configurations via the dashboard as well.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/dashboard.png" alt="Dashboard"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="troubleshooting"></a>Troubleshooting<a class="hash-link" href="#troubleshooting" title="Direct link to heading">#</a></h3><ul><li><p>Make sure the required ports are not being used by other systems/processes (The default ports are: 9080, 9443, 2379).
 The following is the command to kill a process which is listening to a specific port (in unix based systems).</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">``</span><span class="token variable" style="color:#36acaa">`</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/grpc-proxy/index.html b/docs/apisix/2.5/grpc-proxy/index.html
index 548b25f..6ef04e9 100644
--- a/docs/apisix/2.5/grpc-proxy/index.html
+++ b/docs/apisix/2.5/grpc-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/grpc-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li></ul><h3><a aria-hidden="true" tabindex="-1" c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/health-check/index.html b/docs/apisix/2.5/health-check/index.html
index 99e56f0..b84163f 100644
--- a/docs/apisix/2.5/health-check/index.html
+++ b/docs/apisix/2.5/health-check/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/health-check"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 you can use it for upstream.</p><p>Note that we only start the health check when the upstream is hit by a request.
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</p><p>The following is an example of health check:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span> [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/how-to-build/index.html b/docs/apisix/2.5/how-to-build/index.html
index 8388b97..0de57ca 100644
--- a/docs/apisix/2.5/how-to-build/index.html
+++ b/docs/apisix/2.5/how-to-build/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/how-to-build"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBloc
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes?api_key</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color: [...]
 If you need those features, you can build OpenResty with
 <a href="https://raw.githubusercontent.com/api7/apisix-build-tools/master/build-apisix-openresty.sh" target="_blank" rel="noopener noreferrer">this build script</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/how-to-build.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/https/index.html b/docs/apisix/2.5/https/index.html
index 8cf5d29..c0f889a 100644
--- a/docs/apisix/2.5/https/index.html
+++ b/docs/apisix/2.5/https/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/https"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusaurus_tag"  [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/install-dependencies/index.html b/docs/apisix/2.5/install-dependencies/index.html
index 9bf4406..dfd9337 100644
--- a/docs/apisix/2.5/install-dependencies/index.html
+++ b/docs/apisix/2.5/install-dependencies/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/install-dependencies"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></div></div></div><butt [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">brew services start etcd</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># enable TLS for etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operator" style="color:#393A [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/mtls/index.html b/docs/apisix/2.5/mtls/index.html
index 88809f5..27a29ef 100644
--- a/docs/apisix/2.5/mtls/index.html
+++ b/docs/apisix/2.5/mtls/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication for Admin API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/mtls"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">admin_api_mtls</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">admin_ssl_ca_cert</span><span class="token punctuation" style="color:#393A34">:</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugin-develop/index.html b/docs/apisix/2.5/plugin-develop/index.html
index a5a32e1..d9148a5 100644
--- a/docs/apisix/2.5/plugin-develop/index.html
+++ b/docs/apisix/2.5/plugin-develop/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugin-develop"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -53,7 +53,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.5/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.5/control-api">Control API</a>.</p><p>Take a look at example-plugin plugin:</p>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    return {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></div><div class="token-line" style="color:#393A34"><span c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugin-interceptors/index.html b/docs/apisix/2.5/plugin-interceptors/index.html
index 272c2a6..0ad75f1 100644
--- a/docs/apisix/2.5/plugin-interceptors/index.html
+++ b/docs/apisix/2.5/plugin-interceptors/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugin-interceptors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/plug [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.5/plugins/ip-restriction">ip-restriction</a></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/api-breaker/index.html b/docs/apisix/2.5/plugins/api-breaker/index.html
index 738d533..1c45282 100644
--- a/docs/apisix/2.5/plugins/api-breaker/index.html
+++ b/docs/apisix/2.5/plugins/api-breaker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/api-breaker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>D [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/authz-keycloak/index.html b/docs/apisix/2.5/plugins/authz-keycloak/index.html
index 57f4ba0..2a7171e 100644
--- a/docs/apisix/2.5/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.5/plugins/authz-keycloak/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/authz-keycloak"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class="to [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspect [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/basic-auth/index.html b/docs/apisix/2.5/plugins/basic-auth/index.html
index 483a22a..9ac0763 100644
--- a/docs/apisix/2.5/plugins/basic-auth/index.html
+++ b/docs/apisix/2.5/plugins/basic-auth/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/basic-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/batch-requests/index.html b/docs/apisix/2.5/plugins/batch-requests/index.html
index dae5f46..7f5c8a0 100644
--- a/docs/apisix/2.5/plugins/batch-requests/index.html
+++ b/docs/apisix/2.5/plugins/batch-requests/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/batch-requests"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 You may need to use <a href="/docs/apisix/2.5/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Default enabled</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-configure"></a>How To Configure<a class="hash-link" href="#how-to-configure" title="Direct link to heading">#</a></h2><p>By def [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/ad [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/consumer-restriction/index.html b/docs/apisix/2.5/plugins/consumer-restriction/index.html
index 64b4738..4ecd65d 100644
--- a/docs/apisix/2.5/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.5/plugins/consumer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/consumer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style="c [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/cors/index.html b/docs/apisix/2.5/plugins/cors/index.html
index 0f52faaa..241a673 100644
--- a/docs/apisix/2.5/plugins/cors/index.html
+++ b/docs/apisix/2.5/plugins/cors/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/cors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and configure <code>cors</code> plugin.</p><div clas [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/dubbo-proxy/index.html b/docs/apisix/2.5/plugins/dubbo-proxy/index.html
index 826539d..80257dd 100644
--- a/docs/apisix/2.5/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.5/plugins/dubbo-proxy/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/dubbo-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ They should provide the same result.</p><p>The returned data from upstream dubbo
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="token  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/echo/index.html b/docs/apisix/2.5/plugins/echo/index.html
index 2db4430..7df56f3 100644
--- a/docs/apisix/2.5/plugins/echo/index.html
+++ b/docs/apisix/2.5/plugins/echo/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/echo"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/error-log-logger/index.html b/docs/apisix/2.5/plugins/error-log-logger/index.html
index c7826e1..39e7d52 100644
--- a/docs/apisix/2.5/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.5/plugins/error-log-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/error-log-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.5/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr> [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctu [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/fault-injection/index.html b/docs/apisix/2.5/plugins/fault-injection/index.html
index 0b52854..1ea8fcf 100644
--- a/docs/apisix/2.5/plugins/fault-injection/index.html
+++ b/docs/apisix/2.5/plugins/fault-injection/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/fault-injection"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockContainer_K1bP" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediate [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/grpc-transcode/index.html b/docs/apisix/2.5/plugins/grpc-transcode/index.html
index fb01c7c..a4d6d2c 100644
--- a/docs/apisix/2.5/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.5/plugins/grpc-transcode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/grpc-transcode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><span  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/11 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/hmac-auth/index.html b/docs/apisix/2.5/plugins/hmac-auth/index.html
index 4fdca0c..570ae10 100644
--- a/docs/apisix/2.5/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.5/plugins/hmac-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/hmac-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/http-logger/index.html b/docs/apisix/2.5/plugins/http-logger/index.html
index 6f48893..da2b2c9 100644
--- a/docs/apisix/2.5/plugins/http-logger/index.html
+++ b/docs/apisix/2.5/plugins/http-logger/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/http-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/index.html b/docs/apisix/2.5/plugins/index.html
index 946d463..51be5a3 100644
--- a/docs/apisix/2.5/plugins/index.html
+++ b/docs/apisix/2.5/plugins/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusaurus_t [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.5/stand-alone">stand alone mode</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/ap [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/ip-restriction/index.html b/docs/apisix/2.5/plugins/ip-restriction/index.html
index 475a618..6079007 100644
--- a/docs/apisix/2.5/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.5/plugins/ip-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/ip-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/jwt-auth/index.html b/docs/apisix/2.5/plugins/jwt-auth/index.html
index 9745fc7..107e021 100644
--- a/docs/apisix/2.5/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.5/plugins/jwt-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/jwt-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ You may need to use <a href="/docs/apisix/2.5/plugin-interceptors">interceptors<
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:#393A34">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/kafka-logger/index.html b/docs/apisix/2.5/plugins/kafka-logger/index.html
index f5ef4ad..877bd5e 100644
--- a/docs/apisix/2.5/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.5/plugins/kafka-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/kafka-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class=" [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/key-auth/index.html b/docs/apisix/2.5/plugins/key-auth/index.html
index ec12bd9..a6337fa 100644
--- a/docs/apisix/2.5/plugins/key-auth/index.html
+++ b/docs/apisix/2.5/plugins/key-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/key-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">40 [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/limit-conn/index.html b/docs/apisix/2.5/plugins/limit-conn/index.html
index 2048347..8989ce3 100644
--- a/docs/apisix/2.5/plugins/limit-conn/index.html
+++ b/docs/apisix/2.5/plugins/limit-conn/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/limit-conn"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/limit-count/index.html b/docs/apisix/2.5/plugins/limit-count/index.html
index 1933a91..a593aa7 100644
--- a/docs/apisix/2.5/plugins/limit-count/index.html
+++ b/docs/apisix/2.5/plugins/limit-count/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-count | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/limit-count"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token ope [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/limit-req/index.html b/docs/apisix/2.5/plugins/limit-req/index.html
index 9d12bff..f4da4d7 100644
--- a/docs/apisix/2.5/plugins/limit-req/index.html
+++ b/docs/apisix/2.5/plugins/limit-req/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/limit-req"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">html</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/log-rotate/index.html b/docs/apisix/2.5/plugins/log-rotate/index.html
index d610f6a..da65b1f 100644
--- a/docs/apisix/2.5/plugins/log-rotate/index.html
+++ b/docs/apisix/2.5/plugins/log-rotate/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/log-rotate"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ When the number of log files exceeds the remaining number, the old files are aut
 For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></div><div class="token-line" style="color:#393A [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctu [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">plugin_attr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">log-rotate</span><span class="token punctuation" style="color:#393A34">:</span><span class=" [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/mqtt-proxy/index.html b/docs/apisix/2.5/plugins/mqtt-proxy/index.html
index aca5243..0db83b8 100644
--- a/docs/apisix/2.5/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.5/plugins/mqtt-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/mqtt-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 balance by <code>client_id</code> of MQTT.</p><p>And this plugin both support MQTT protocol <a href="http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html" target="_blank" rel="noopener noreferrer">3.1.*</a> and <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html" target="_blank" rel="noopener noreferrer">5.0</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link t [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">...</span><span class="token p [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/node-status/index.html b/docs/apisix/2.5/plugins/node-status/index.html
index 5a5df51..59d933b 100644
--- a/docs/apisix/2.5/plugins/node-status/index.html
+++ b/docs/apisix/2.5/plugins/node-status/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/node-status"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ And this plugin will not make any difference in future requests, so usually we d
 then you can not add this plugin in any route.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</sp [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly sh"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/openid-connect/index.html b/docs/apisix/2.5/plugins/openid-connect/index.html
index 0f121b0..ef82ca1 100644
--- a/docs/apisix/2.5/plugins/openid-connect/index.html
+++ b/docs/apisix/2.5/plugins/openid-connect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/openid-connect"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,7 @@ Once the user has authenticated against the identity provider, the plugin will o
 and further information from the identity provider on behalf of the user. The information is currently stored
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
 and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</sp [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/prometheus/index.html b/docs/apisix/2.5/plugins/prometheus/index.html
index 1ba5806..5d73f86 100644
--- a/docs/apisix/2.5/plugins/prometheus/index.html
+++ b/docs/apisix/2.5/plugins/prometheus/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/prometheus"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ these metric data.</p><p>For example like this:</p><div class="codeBlockContaine
 | consumer | The <code>consumer_name</code> of the consumer that matches the request. If it does not match, the default value is an empty string. |
 | node     | The <code>ip</code> of the upstream node. |</p></li><li><p><code>Info</code>: the information of APISIX node.</p></li></ul><p>Here is the original metric data of APISIX:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token p [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/proxy-cache/index.html b/docs/apisix/2.5/plugins/proxy-cache/index.html
index 4616f59..f72f252 100644
--- a/docs/apisix/2.5/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.5/plugins/proxy-cache/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/proxy-cache"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>http status is &#x27;200&#x27; and the response header contains &#x27;Apisix-Cache-Status&#x27; to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</li></ol><div cl [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache area <code>disk_c [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token ope [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/proxy-mirror/index.html b/docs/apisix/2.5/plugins/proxy-mirror/index.html
index b3fd364..2baeff8 100644
--- a/docs/apisix/2.5/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.5/plugins/proxy-mirror/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/proxy-mirror"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>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</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/proxy-rewrite/index.html b/docs/apisix/2.5/plugins/proxy-rewrite/index.html
index b9c5e91..c1e7e96 100644
--- a/docs/apisix/2.5/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.5/plugins/proxy-rewrite/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/proxy-rewrite"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/redirect/index.html b/docs/apisix/2.5/plugins/redirect/index.html
index 964008c..95476fc 100644
--- a/docs/apisix/2.5/plugins/redirect/index.html
+++ b/docs/apisix/2.5/plugins/redirect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/redirect"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is an example of r [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/referer-restriction/index.html b/docs/apisix/2.5/plugins/referer-restriction/index.html
index 8f3baf3..3645f6f 100644
--- a/docs/apisix/2.5/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.5/plugins/referer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/referer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 whitelisting request header Referrers.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>whitelist</td><td>array[string]</td><td>required</td><td></td><td></td><td>List of hostname to whitelist. The hostname can be started with <co [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/request-id/index.html b/docs/apisix/2.5/plugins/request-id/index.html
index 19344fe..2e4f6eb 100644
--- a/docs/apisix/2.5/plugins/request-id/index.html
+++ b/docs/apisix/2.5/plugins/request-id/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/request-id"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td>string</td><td>optional</td><td>&quot;X-Requ [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/request-validation/index.html b/docs/apisix/2.5/plugins/request-validation/index.html
index 2850ac6..df18770 100644
--- a/docs/apisix/2.5/plugins/request-validation/index.html
+++ b/docs/apisix/2.5/plugins/request-validation/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/request-validation"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 json-schema to validate the schema. The plugin can be used to validate the headers and body data.</p><p>For more information on schema, refer to <a href="https://github.com/api7/jsonschema" target="_blank" rel="noopener noreferrer">JSON schema</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requi [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/response-rewrite/index.html b/docs/apisix/2.5/plugins/response-rewrite/index.html
index 3123d16..d9a4820 100644
--- a/docs/apisix/2.5/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.5/plugins/response-rewrite/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/response-rewrite"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;code&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;ok&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">: [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/server-info/index.html b/docs/apisix/2.5/plugins/server-info/index.html
index 92af36e..8294f25 100644
--- a/docs/apisix/2.5/plugins/server-info/index.html
+++ b/docs/apisix/2.5/plugins/server-info/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/server-info"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/serverless/index.html b/docs/apisix/2.5/plugins/serverless/index.html
index 5137b57..139987b 100644
--- a/docs/apisix/2.5/plugins/serverless/index.html
+++ b/docs/apisix/2.5/plugins/serverless/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/serverless"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/skywalking/index.html b/docs/apisix/2.5/plugins/skywalking/index.html
index cea0d26..88a69de 100644
--- a/docs/apisix/2.5/plugins/skywalking/index.html
+++ b/docs/apisix/2.5/plugins/skywalking/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/skywalking"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token namespace" style="opacity:0.7">org</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">springframework</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><sp [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">/**</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * @author cyxinda</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * @create 2020-05-29 14:02</span></div><div class="token [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">agent.service_name</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">yourservername</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/sls-logger/index.html b/docs/apisix/2.5/plugins/sls-logger/index.html
index c745401..437801e 100644
--- a/docs/apisix/2.5/plugins/sls-logger/index.html
+++ b/docs/apisix/2.5/plugins/sls-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/sls-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 <a href="/docs/apisix/2.5/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a href="https://help.aliyun.com/document_detail/29008 [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/syslog/index.html b/docs/apisix/2.5/plugins/syslog/index.html
index 7a714cb..9b7258d 100644
--- a/docs/apisix/2.5/plugins/syslog/index.html
+++ b/docs/apisix/2.5/plugins/syslog/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/syslog"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/tcp-logger/index.html b/docs/apisix/2.5/plugins/tcp-logger/index.html
index ac12650..416df2b 100644
--- a/docs/apisix/2.5/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.5/plugins/tcp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/tcp-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.5/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/traffic-split/index.html b/docs/apisix/2.5/plugins/traffic-split/index.html
index 05bd1f7..72d41ed 100644
--- a/docs/apisix/2.5/plugins/traffic-split/index.html
+++ b/docs/apisix/2.5/plugins/traffic-split/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/traffic-split"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,7 +35,7 @@ service_name, discovery_type, checks, retries, desc, scheme, labels, create_time
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#39 [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification of two <code> [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to remove the  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/udp-logger/index.html b/docs/apisix/2.5/plugins/udp-logger/index.html
index e72003b..3e3460e 100644
--- a/docs/apisix/2.5/plugins/udp-logger/index.html
+++ b/docs/apisix/2.5/plugins/udp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/udp-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.5/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the UDP server.</td></tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/uri-blocker/index.html b/docs/apisix/2.5/plugins/uri-blocker/index.html
index ae90121..5522e79 100644
--- a/docs/apisix/2.5/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.5/plugins/uri-blocker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/uri-blocker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>D [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/wolf-rbac/index.html b/docs/apisix/2.5/plugins/wolf-rbac/index.html
index b30dd1e..e9bc108 100644
--- a/docs/apisix/2.5/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.5/plugins/wolf-rbac/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/wolf-rbac"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string"  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/zipkin/index.html b/docs/apisix/2.5/plugins/zipkin/index.html
index 950c829..7008572 100644
--- a/docs/apisix/2.5/plugins/zipkin/index.html
+++ b/docs/apisix/2.5/plugins/zipkin/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/zipkin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></div><div class="token-line" style="color:#393A34"><s [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/powered-by/index.html b/docs/apisix/2.5/powered-by/index.html
index 1a9546b..f342df7 100644
--- a/docs/apisix/2.5/powered-by/index.html
+++ b/docs/apisix/2.5/powered-by/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/powered-by"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 or providing commercial products including APISIX.</p><p>Users are encouraged to add themselves to this page, <a href="https://github.com/apache/apisix/issues/487" target="_blank" rel="noopener noreferrer">issue</a> and PR are welcomed.</p><ol><li><a href="https://hy.10086.cn/" target="_blank" rel="nofollow">中移杭研</a></li><li><a href="http://www.163.com" target="_blank" rel="nofollow">Netease 网易</a></li><li><a href="https://www.360.cn/" target="_blank" rel="nofollow">360 奇虎</a></li><li><a [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/profile/index.html b/docs/apisix/2.5/profile/index.html
index 0f2bc85..ba98591 100644
--- a/docs/apisix/2.5/profile/index.html
+++ b/docs/apisix/2.5/profile/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/profile"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta d [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ requirements, we need to change the parameters in the configuration file to the
 development environment. You have to change it back. It&#x27;s very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
 between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
 tools such as git can be configured, and version management can be better achieved.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/router-radixtree/index.html b/docs/apisix/2.5/router-radixtree/index.html
index 5f44cd7..77035a4 100644
--- a/docs/apisix/2.5/router-radixtree/index.html
+++ b/docs/apisix/2.5/router-radixtree/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/router-radixtree"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </spa [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">graphql</span><span class="token punctuation" style="color:#393A34">:</span><span class=" [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If you need to pass a graphql body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/router-radixtree.md" target="_blank" rel="noreferrer noopener"><svg fill= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/stand-alone/index.html b/docs/apisix/2.5/stand-alone/index.html
index 7079fa0..b20b933 100644
--- a/docs/apisix/2.5/stand-alone/index.html
+++ b/docs/apisix/2.5/stand-alone/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/stand-alone"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 the APISIX will check if this file has any changed every second.
 If the file changed and we found <code>#END</code> at the end of the file,
 APISIX will load the rules in this file and update to memory of APISIX.</p><p>Here is a mini example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" style [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/stream-proxy/index.html b/docs/apisix/2.5/stream-proxy/index.html
index a214248..3b516bf 100644
--- a/docs/apisix/2.5/stream-proxy/index.html
+++ b/docs/apisix/2.5/stream-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/stream-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 By default, no any stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/FAQ/index.html b/docs/apisix/2.6/FAQ/index.html
index 3d4676a..0fc379a 100644
--- a/docs/apisix/2.6/FAQ/index.html
+++ b/docs/apisix/2.6/FAQ/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/FAQ"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ For China mainland users, you can use the <code>luarocks.cn</code> as the luaroc
 See the <code>Hot reload</code> section in <a href="/docs/apisix/2.6/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests" title="Direct link to heading">#</a></h2><p [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># The uri match failed</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/12ab -i</span></div><div class="token-line" style="color:#393A34"><span  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token punctuation" style="color:#393A34">..</span><span class="token punctuation" style="color:#393A34">..</span></div></div></div><but [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/IGNORE_DOC/index.html b/docs/apisix/2.6/IGNORE_DOC/index.html
index 09aab06..6f47b9d 100644
--- a/docs/apisix/2.6/IGNORE_DOC/index.html
+++ b/docs/apisix/2.6/IGNORE_DOC/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/IGNORE_DOC"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/admin-api/index.html b/docs/apisix/2.6/admin-api/index.html
index ea7d94b..0e19166 100644
--- a/docs/apisix/2.6/admin-api/index.html
+++ b/docs/apisix/2.6/admin-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/admin-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -83,7 +83,7 @@ This feature requires APISIX to run on <a href="/docs/apisix/how-to-build.md#6-b
 used when all the nodes with higher priority are unavailable or tried.</p><p>As the default priority is 0, we can configure nodes with negative priority as the backup.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token [...]
 Therefore it is the backup of <code>127.0.0.1</code>.</p><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/ssl/{id}</p><p><em>Description</em>:SSL.</p><blockquote><p>Request Methods:</p></blockquote><table><thead><tr><th>M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span></ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/apisix/index.html b/docs/apisix/2.6/architecture-design/apisix/index.html
index af48865..c7fc7b8 100644
--- a/docs/apisix/2.6/architecture-design/apisix/index.html
+++ b/docs/apisix/2.6/architecture-design/apisix/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/apisix"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">host</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/consumer/index.html b/docs/apisix/2.6/architecture-design/consumer/index.html
index e218ad4..aaf7295 100644
--- a/docs/apisix/2.6/architecture-design/consumer/index.html
+++ b/docs/apisix/2.6/architecture-design/consumer/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/consumer"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.6/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34 [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><span cl [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/debug-mode/index.html b/docs/apisix/2.6/architecture-design/debug-mode/index.html
index 8b69de7..0d1a434 100644
--- a/docs/apisix/2.6/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.6/architecture-design/debug-mode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/debug-mode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/global-rule/index.html b/docs/apisix/2.6/architecture-design/global-rule/index.html
index a9b19d7..d69fbc8 100644
--- a/docs/apisix/2.6/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.6/architecture-design/global-rule/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/global-rule"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 We can register a global <a href="/docs/apisix/2.6/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token pl [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/index.html b/docs/apisix/2.6/architecture-design/index.html
index 6172a14..f707af6 100644
--- a/docs/apisix/2.6/architecture-design/index.html
+++ b/docs/apisix/2.6/architecture-design/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/plugin-config/index.html b/docs/apisix/2.6/architecture-design/plugin-config/index.html
index a3af773..6360f36 100644
--- a/docs/apisix/2.6/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.6/architecture-design/plugin-config/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/plugin-config"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain"> [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color:#e31 [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/plugin/index.html b/docs/apisix/2.6/architecture-design/plugin/index.html
index 206e912..138a768 100644
--- a/docs/apisix/2.6/architecture-design/plugin/index.html
+++ b/docs/apisix/2.6/architecture-design/plugin/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/plugin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/route/index.html b/docs/apisix/2.6/architecture-design/route/index.html
index 8da3844..2c353e8 100644
--- a/docs/apisix/2.6/architecture-design/route/index.html
+++ b/docs/apisix/2.6/architecture-design/route/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/route"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 GMT [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/router/index.html b/docs/apisix/2.6/architecture-design/router/index.html
index 4e36ca7..8750bd5 100644
--- a/docs/apisix/2.6/architecture-design/router/index.html
+++ b/docs/apisix/2.6/architecture-design/router/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/router"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/script/index.html b/docs/apisix/2.6/architecture-design/script/index.html
index 9466b87..17991b4 100644
--- a/docs/apisix/2.6/architecture-design/script/index.html
+++ b/docs/apisix/2.6/architecture-design/script/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/script"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/service/index.html b/docs/apisix/2.6/architecture-design/service/index.html
index f85cf4e..6d8be1e 100644
--- a/docs/apisix/2.6/architecture-design/service/index.html
+++ b/docs/apisix/2.6/architecture-design/service/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/service"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/100 -H </span><span  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style="c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/upstream/index.html b/docs/apisix/2.6/architecture-design/upstream/index.html
index c666bab..4695a60 100644
--- a/docs/apisix/2.6/architecture-design/upstream/index.html
+++ b/docs/apisix/2.6/architecture-design/upstream/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/upstream"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/aws/index.html b/docs/apisix/2.6/aws/index.html
index dead4d7..ac118ba 100644
--- a/docs/apisix/2.6/aws/index.html
+++ b/docs/apisix/2.6/aws/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/aws"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></div><div class [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/batch-processor/index.html b/docs/apisix/2.6/batch-processor/index.html
index 8f09933..18be077 100644
--- a/docs/apisix/2.6/batch-processor/index.html
+++ b/docs/apisix/2.6/batch-processor/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/batch-processor"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#393A34"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Note: Please make sure th [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/benchmark/index.html b/docs/apisix/2.6/benchmark/index.html
index b7a822f..e0e0075 100644
--- a/docs/apisix/2.6/benchmark/index.html
+++ b/docs/apisix/2.6/benchmark/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/benchmark"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="latency-1"></a>Latency<a class="hash-link" href="#latenc [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/control-api/index.html b/docs/apisix/2.6/control-api/index.html
index 7f17121..ce090d8 100644
--- a/docs/apisix/2.6/control-api/index.html
+++ b/docs/apisix/2.6/control-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/control-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ If a plugin adds such a control API, please refer to each plugin&#x27;s document
 of fields like <code>consumer_schema</code> or <code>type</code>, it is depended on by the plugin&#x27;s
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.6/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/customize-nginx-configuration/index.html b/docs/apisix/2.6/customize-nginx-configuration/index.html
index d3ba045..744056b 100644
--- a/docs/apisix/2.6/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.6/customize-nginx-configuration/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/customize-nginx-configuration"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-reac [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-line" style=" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></div><div class="token-line" style="color:#393A34"><span class="token scalar stri [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/debug-function/index.html b/docs/apisix/2.6/debug-function/index.html
index 4076c0a..2cbec72 100644
--- a/docs/apisix/2.6/debug-function/index.html
+++ b/docs/apisix/2.6/debug-function/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/debug-function"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/discovery/consul_kv/index.html b/docs/apisix/2.6/discovery/consul_kv/index.html
index 4b0c2e6..8812407 100644
--- a/docs/apisix/2.6/discovery/consul_kv/index.html
+++ b/docs/apisix/2.6/discovery/consul_kv/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/discovery/consul_kv"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></div><div class=" [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/discovery/dns/index.html b/docs/apisix/2.6/discovery/dns/index.html
index 6fd81fc..4e6e3ae 100644
--- a/docs/apisix/2.6/discovery/dns/index.html
+++ b/docs/apisix/2.6/discovery/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/discovery/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3- [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/discovery/eureka/index.html b/docs/apisix/2.6/discovery/eureka/index.html
index 7f3485b..439f752 100644
--- a/docs/apisix/2.6/discovery/eureka/index.html
+++ b/docs/apisix/2.6/discovery/eureka/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/discovery/eureka"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 reading from <a href="/docs/apisix/2.6/discovery#supported-discovery-registries">Supported discovery registries</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/eureka.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit p [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/discovery/index.html b/docs/apisix/2.6/discovery/index.html
index 14f9764..0d229bb 100644
--- a/docs/apisix/2.6/discovery/index.html
+++ b/docs/apisix/2.6/discovery/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/discovery"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -32,7 +32,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 GMT [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/discovery/nacos/index.html b/docs/apisix/2.6/discovery/nacos/index.html
index 99e3500..3c959a4 100644
--- a/docs/apisix/2.6/discovery/nacos/index.html
+++ b/docs/apisix/2.6/discovery/nacos/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/discovery/nacos"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/dns/index.html b/docs/apisix/2.6/dns/index.html
index 98fccb9..3449bcf 100644
--- a/docs/apisix/2.6/dns/index.html
+++ b/docs/apisix/2.6/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.6/examples/plugins-hmac-auth-generate-signature/index.html
index 5af095b..d365440 100644
--- a/docs/apisix/2.6/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.6/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/examples/plugins-hmac-auth-generate-signature"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2 [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -55,7 +55,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></div><div class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct link to heading">#</a [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span cla [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/getting-started/index.html b/docs/apisix/2.6/getting-started/index.html
index e6cc4ac..4b09a73 100644
--- a/docs/apisix/2.6/getting-started/index.html
+++ b/docs/apisix/2.6/getting-started/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/getting-started"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 the proxy-rewrite plugin to do it.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/grpc-proxy/index.html b/docs/apisix/2.6/grpc-proxy/index.html
index b830ffb..8e1d2e7 100644
--- a/docs/apisix/2.6/grpc-proxy/index.html
+++ b/docs/apisix/2.6/grpc-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/grpc-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li></ul><h3><a aria-hidden="true" tabindex="-1" c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/health-check/index.html b/docs/apisix/2.6/health-check/index.html
index f6cd3d0..82671a0 100644
--- a/docs/apisix/2.6/health-check/index.html
+++ b/docs/apisix/2.6/health-check/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/health-check"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ you can use it for upstream.</p><p>Note:</p><ul><li>We only start the health che
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</li><li>If there is no healthy node can be chosen, we will continue to access the upstream.</li><li>We won&#x27;t start the health check when the upstream only has one node, as we will access
 it whether this unique node is healthy or not.</li></ul><p>The following is an example of health check:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127 [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/how-to-build/index.html b/docs/apisix/2.6/how-to-build/index.html
index b4abb29..3edb251 100644
--- a/docs/apisix/2.6/how-to-build/index.html
+++ b/docs/apisix/2.6/how-to-build/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/how-to-build"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBloc
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes?api_key</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color: [...]
 If you need those features, you can build OpenResty with
 <a href="https://raw.githubusercontent.com/api7/apisix-build-tools/master/build-apisix-openresty.sh" target="_blank" rel="noopener noreferrer">this build script</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="7-add-systemd-unit-file-for-apisix"></a>7. Add systemd unit file for APISIX<a class="hash-link" href="#7-add-systemd-unit-file-for-apisix" title="Direct link to heading">#</a></h2><p>If you install APISIX with rpm package, the unit file is installed automatically, [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/https/index.html b/docs/apisix/2.6/https/index.html
index e20cab3..6b50ecf 100644
--- a/docs/apisix/2.6/https/index.html
+++ b/docs/apisix/2.6/https/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/https"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusaurus_tag"  [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/install-dependencies/index.html b/docs/apisix/2.6/install-dependencies/index.html
index 3f828f1..cc8df5d 100644
--- a/docs/apisix/2.6/install-dependencies/index.html
+++ b/docs/apisix/2.6/install-dependencies/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/install-dependencies"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></div></div></div><butt [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">brew services start etcd</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># enable TLS for etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operator" style="color:#393A [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/mtls/index.html b/docs/apisix/2.6/mtls/index.html
index beb069c..69a264c 100644
--- a/docs/apisix/2.6/mtls/index.html
+++ b/docs/apisix/2.6/mtls/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication for Admin API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/mtls"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">admin_api_mtls</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">admin_ssl_ca_cert</span><span class="token punctuation" style="color:#393A34">:</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugin-develop/index.html b/docs/apisix/2.6/plugin-develop/index.html
index 038f46c..af1b1d9 100644
--- a/docs/apisix/2.6/plugin-develop/index.html
+++ b/docs/apisix/2.6/plugin-develop/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugin-develop"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -53,7 +53,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.6/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.6/control-api">Control API</a>.</p><p>Take a look at example-plugin plugin:</p>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    return {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></div><div class="token-line" style="color:#393A34"><span c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugin-interceptors/index.html b/docs/apisix/2.6/plugin-interceptors/index.html
index c8ad8ca..9395ca2 100644
--- a/docs/apisix/2.6/plugin-interceptors/index.html
+++ b/docs/apisix/2.6/plugin-interceptors/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugin-interceptors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/plug [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.6/plugins/ip-restriction">ip-restriction</a></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/api-breaker/index.html b/docs/apisix/2.6/plugins/api-breaker/index.html
index 35c1d20..e550663 100644
--- a/docs/apisix/2.6/plugins/api-breaker/index.html
+++ b/docs/apisix/2.6/plugins/api-breaker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/api-breaker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>D [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/authz-keycloak/index.html b/docs/apisix/2.6/plugins/authz-keycloak/index.html
index e0e4427..61058d6 100644
--- a/docs/apisix/2.6/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.6/plugins/authz-keycloak/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/authz-keycloak"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class="to [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspect [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/basic-auth/index.html b/docs/apisix/2.6/plugins/basic-auth/index.html
index 3778a03..2c1689c 100644
--- a/docs/apisix/2.6/plugins/basic-auth/index.html
+++ b/docs/apisix/2.6/plugins/basic-auth/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/basic-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/batch-requests/index.html b/docs/apisix/2.6/plugins/batch-requests/index.html
index 74898fa..784b9d0 100644
--- a/docs/apisix/2.6/plugins/batch-requests/index.html
+++ b/docs/apisix/2.6/plugins/batch-requests/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/batch-requests"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 You may need to use <a href="/docs/apisix/2.6/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Default enabled</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-configure"></a>How To Configure<a class="hash-link" href="#how-to-configure" title="Direct link to heading">#</a></h2><p>By def [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/ad [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/consumer-restriction/index.html b/docs/apisix/2.6/plugins/consumer-restriction/index.html
index 2c77b19..881d999 100644
--- a/docs/apisix/2.6/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.6/plugins/consumer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/consumer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style="c [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/cors/index.html b/docs/apisix/2.6/plugins/cors/index.html
index 6e65061..90e4b72 100644
--- a/docs/apisix/2.6/plugins/cors/index.html
+++ b/docs/apisix/2.6/plugins/cors/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/cors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and configure <code>cors</code> plugin.</p><div clas [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/dubbo-proxy/index.html b/docs/apisix/2.6/plugins/dubbo-proxy/index.html
index 120c76b..54f7e6b 100644
--- a/docs/apisix/2.6/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.6/plugins/dubbo-proxy/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/dubbo-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ They should provide the same result.</p><p>The returned data from upstream dubbo
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="token  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/echo/index.html b/docs/apisix/2.6/plugins/echo/index.html
index 1ffecd9..9bc3d6b 100644
--- a/docs/apisix/2.6/plugins/echo/index.html
+++ b/docs/apisix/2.6/plugins/echo/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/echo"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/error-log-logger/index.html b/docs/apisix/2.6/plugins/error-log-logger/index.html
index eefce17..7302a39 100644
--- a/docs/apisix/2.6/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.6/plugins/error-log-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/error-log-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.6/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr> [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctu [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/fault-injection/index.html b/docs/apisix/2.6/plugins/fault-injection/index.html
index ccddb1e..6be5269 100644
--- a/docs/apisix/2.6/plugins/fault-injection/index.html
+++ b/docs/apisix/2.6/plugins/fault-injection/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/fault-injection"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockContainer_K1bP" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediate [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/grpc-transcode/index.html b/docs/apisix/2.6/plugins/grpc-transcode/index.html
index 2a40995..b5a2b18 100644
--- a/docs/apisix/2.6/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.6/plugins/grpc-transcode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/grpc-transcode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><span  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/11 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/hmac-auth/index.html b/docs/apisix/2.6/plugins/hmac-auth/index.html
index e447b9a..3c215c5 100644
--- a/docs/apisix/2.6/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.6/plugins/hmac-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/hmac-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/http-logger/index.html b/docs/apisix/2.6/plugins/http-logger/index.html
index 492a79c..470272f 100644
--- a/docs/apisix/2.6/plugins/http-logger/index.html
+++ b/docs/apisix/2.6/plugins/http-logger/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/http-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/index.html b/docs/apisix/2.6/plugins/index.html
index 2d47368..d37f0ad 100644
--- a/docs/apisix/2.6/plugins/index.html
+++ b/docs/apisix/2.6/plugins/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusaurus_t [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.6/stand-alone">stand alone mode</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/ap [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/ip-restriction/index.html b/docs/apisix/2.6/plugins/ip-restriction/index.html
index 6f769a3..95d3056 100644
--- a/docs/apisix/2.6/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.6/plugins/ip-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/ip-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/jwt-auth/index.html b/docs/apisix/2.6/plugins/jwt-auth/index.html
index 6c9f61f..6a3784f 100644
--- a/docs/apisix/2.6/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.6/plugins/jwt-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/jwt-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ You may need to use <a href="/docs/apisix/2.6/plugin-interceptors">interceptors<
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:#393A34">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/kafka-logger/index.html b/docs/apisix/2.6/plugins/kafka-logger/index.html
index e6f04f9..75d7530 100644
--- a/docs/apisix/2.6/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.6/plugins/kafka-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/kafka-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class=" [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/key-auth/index.html b/docs/apisix/2.6/plugins/key-auth/index.html
index 09ea80b..70f833e 100644
--- a/docs/apisix/2.6/plugins/key-auth/index.html
+++ b/docs/apisix/2.6/plugins/key-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/key-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">40 [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/limit-conn/index.html b/docs/apisix/2.6/plugins/limit-conn/index.html
index c767470..4015397 100644
--- a/docs/apisix/2.6/plugins/limit-conn/index.html
+++ b/docs/apisix/2.6/plugins/limit-conn/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/limit-conn"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/limit-count/index.html b/docs/apisix/2.6/plugins/limit-count/index.html
index 3488009..f704f5a 100644
--- a/docs/apisix/2.6/plugins/limit-count/index.html
+++ b/docs/apisix/2.6/plugins/limit-count/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-count | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/limit-count"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token ope [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/limit-req/index.html b/docs/apisix/2.6/plugins/limit-req/index.html
index 2dc0a9d..7fa644a 100644
--- a/docs/apisix/2.6/plugins/limit-req/index.html
+++ b/docs/apisix/2.6/plugins/limit-req/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/limit-req"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">html</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/log-rotate/index.html b/docs/apisix/2.6/plugins/log-rotate/index.html
index 20445ad..fbe1455 100644
--- a/docs/apisix/2.6/plugins/log-rotate/index.html
+++ b/docs/apisix/2.6/plugins/log-rotate/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/log-rotate"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ When the number of log files exceeds the remaining number, the old files are aut
 For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></div><div class="token-line" style="color:#393A [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctu [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">plugin_attr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">log-rotate</span><span class="token punctuation" style="color:#393A34">:</span><span class=" [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/mqtt-proxy/index.html b/docs/apisix/2.6/plugins/mqtt-proxy/index.html
index 94d2643..d845586 100644
--- a/docs/apisix/2.6/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.6/plugins/mqtt-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/mqtt-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 balance by <code>client_id</code> of MQTT.</p><p>And this plugin both support MQTT protocol <a href="http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html" target="_blank" rel="noopener noreferrer">3.1.*</a> and <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html" target="_blank" rel="noopener noreferrer">5.0</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link t [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">...</span><span class="token p [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/node-status/index.html b/docs/apisix/2.6/plugins/node-status/index.html
index 1fa84ff..654edac 100644
--- a/docs/apisix/2.6/plugins/node-status/index.html
+++ b/docs/apisix/2.6/plugins/node-status/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/node-status"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ And this plugin will not make any difference in future requests, so usually we d
 then you can not add this plugin in any route.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</sp [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly sh"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/openid-connect/index.html b/docs/apisix/2.6/plugins/openid-connect/index.html
index 1c19a73..ae60f64 100644
--- a/docs/apisix/2.6/plugins/openid-connect/index.html
+++ b/docs/apisix/2.6/plugins/openid-connect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/openid-connect"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ Once the user has authenticated against the identity provider, the plugin will o
 and further information from the identity provider on behalf of the user. The information is currently stored
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
 and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</sp [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/prometheus/index.html b/docs/apisix/2.6/plugins/prometheus/index.html
index a1c50e6..7123a40 100644
--- a/docs/apisix/2.6/plugins/prometheus/index.html
+++ b/docs/apisix/2.6/plugins/prometheus/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/prometheus"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ you may need to use <a href="/docs/apisix/2.6/plugin-interceptors">interceptors<
 Notice, <code>name</code> could be duplicated for multiple routes/services, so when set <code>prefer_name</code> to <code>true</code>, take care of naming format or it could be misleading.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393 [...]
 these metric data.</p><p>For example like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">scrape_configs</span><span class="token punctuation" style="color:#393A34">:</span><span class="token pl [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/proxy-cache/index.html b/docs/apisix/2.6/plugins/proxy-cache/index.html
index 8a50381..47aa1ec 100644
--- a/docs/apisix/2.6/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.6/plugins/proxy-cache/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/proxy-cache"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>http status is &#x27;200&#x27; and the response header contains &#x27;Apisix-Cache-Status&#x27; to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</li></ol><div cl [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache area <code>disk_c [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token ope [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/proxy-mirror/index.html b/docs/apisix/2.6/plugins/proxy-mirror/index.html
index e683b9a..6185aaf 100644
--- a/docs/apisix/2.6/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.6/plugins/proxy-mirror/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/proxy-mirror"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>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</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/proxy-rewrite/index.html b/docs/apisix/2.6/plugins/proxy-rewrite/index.html
index 2dbfb4e..dd6cf96 100644
--- a/docs/apisix/2.6/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.6/plugins/proxy-rewrite/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/proxy-rewrite"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/redirect/index.html b/docs/apisix/2.6/plugins/redirect/index.html
index a8033b7..f22c80b 100644
--- a/docs/apisix/2.6/plugins/redirect/index.html
+++ b/docs/apisix/2.6/plugins/redirect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/redirect"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is an example of r [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/referer-restriction/index.html b/docs/apisix/2.6/plugins/referer-restriction/index.html
index 247b79e..7356427 100644
--- a/docs/apisix/2.6/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.6/plugins/referer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/referer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 whitelisting request header Referrers.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>whitelist</td><td>array[string]</td><td>required</td><td></td><td></td><td>List of hostname to whitelist. The hostname can be started with <co [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/request-id/index.html b/docs/apisix/2.6/plugins/request-id/index.html
index 117e92d..55bd832 100644
--- a/docs/apisix/2.6/plugins/request-id/index.html
+++ b/docs/apisix/2.6/plugins/request-id/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/request-id"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td>string</td><td>optional</td><td>&quot;X-Requ [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/request-validation/index.html b/docs/apisix/2.6/plugins/request-validation/index.html
index e529133..23cd56a 100644
--- a/docs/apisix/2.6/plugins/request-validation/index.html
+++ b/docs/apisix/2.6/plugins/request-validation/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/request-validation"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 json-schema to validate the schema. The plugin can be used to validate the headers and body data.</p><p>For more information on schema, refer to <a href="https://github.com/api7/jsonschema" target="_blank" rel="noopener noreferrer">JSON schema</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requi [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/response-rewrite/index.html b/docs/apisix/2.6/plugins/response-rewrite/index.html
index 1822e70..e98b9a5 100644
--- a/docs/apisix/2.6/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.6/plugins/response-rewrite/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/response-rewrite"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;code&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;ok&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">: [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/server-info/index.html b/docs/apisix/2.6/plugins/server-info/index.html
index 416b29a..ce2f80a 100644
--- a/docs/apisix/2.6/plugins/server-info/index.html
+++ b/docs/apisix/2.6/plugins/server-info/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/server-info"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/serverless/index.html b/docs/apisix/2.6/plugins/serverless/index.html
index c60fc3f..e4de04c 100644
--- a/docs/apisix/2.6/plugins/serverless/index.html
+++ b/docs/apisix/2.6/plugins/serverless/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/serverless"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/skywalking/index.html b/docs/apisix/2.6/plugins/skywalking/index.html
index ef4ae5b..9b20178 100644
--- a/docs/apisix/2.6/plugins/skywalking/index.html
+++ b/docs/apisix/2.6/plugins/skywalking/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/skywalking"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token namespace" style="opacity:0.7">org</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">springframework</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><sp [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">/**</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * @author cyxinda</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * @create 2020-05-29 14:02</span></div><div class="token [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">agent.service_name</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">yourservername</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/sls-logger/index.html b/docs/apisix/2.6/plugins/sls-logger/index.html
index 9262e82..670d571 100644
--- a/docs/apisix/2.6/plugins/sls-logger/index.html
+++ b/docs/apisix/2.6/plugins/sls-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/sls-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 <a href="/docs/apisix/2.6/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a href="https://help.aliyun.com/document_detail/29008 [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/syslog/index.html b/docs/apisix/2.6/plugins/syslog/index.html
index 6006a9a..2bad174 100644
--- a/docs/apisix/2.6/plugins/syslog/index.html
+++ b/docs/apisix/2.6/plugins/syslog/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/syslog"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/tcp-logger/index.html b/docs/apisix/2.6/plugins/tcp-logger/index.html
index 03373f8..f230ab1 100644
--- a/docs/apisix/2.6/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.6/plugins/tcp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/tcp-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.6/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/traffic-split/index.html b/docs/apisix/2.6/plugins/traffic-split/index.html
index e0f4faf..1a5a87d 100644
--- a/docs/apisix/2.6/plugins/traffic-split/index.html
+++ b/docs/apisix/2.6/plugins/traffic-split/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/traffic-split"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,7 +35,7 @@ service_name, discovery_type, checks, retries, desc, scheme, labels, create_time
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#39 [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification of two <code> [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="matching-rules-correspond-to-upstream"></a>Matching rules correspond to upstream<a class="hash-link" href="#matching-rules-correspond-to-upstream" tit [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/udp-logger/index.html b/docs/apisix/2.6/plugins/udp-logger/index.html
index d26371a..f52fb30 100644
--- a/docs/apisix/2.6/plugins/udp-logger/index.html
+++ b/docs/apisix/2.6/plugins/udp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/udp-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.6/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the UDP server.</td></tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://12 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/uri-blocker/index.html b/docs/apisix/2.6/plugins/uri-blocker/index.html
index ae6e8aa..996759d 100644
--- a/docs/apisix/2.6/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.6/plugins/uri-blocker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/uri-blocker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>D [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/wolf-rbac/index.html b/docs/apisix/2.6/plugins/wolf-rbac/index.html
index 6d29f8f..0fd3077 100644
--- a/docs/apisix/2.6/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.6/plugins/wolf-rbac/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/wolf-rbac"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string"  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/zipkin/index.html b/docs/apisix/2.6/plugins/zipkin/index.html
index a3fc050..4226413 100644
--- a/docs/apisix/2.6/plugins/zipkin/index.html
+++ b/docs/apisix/2.6/plugins/zipkin/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/zipkin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></div><div class="token-line" style="color:#393A34"><s [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/powered-by/index.html b/docs/apisix/2.6/powered-by/index.html
index 83e1f71..88c41bc 100644
--- a/docs/apisix/2.6/powered-by/index.html
+++ b/docs/apisix/2.6/powered-by/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/powered-by"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 or providing commercial products including APISIX.</p><p>Users are encouraged to add themselves to this page, <a href="https://github.com/apache/apisix/issues/487" target="_blank" rel="noopener noreferrer">issue</a> and PR are welcomed.</p><ol><li><a href="https://hy.10086.cn/" target="_blank" rel="nofollow">中移杭研</a></li><li><a href="http://www.163.com" target="_blank" rel="nofollow">Netease 网易</a></li><li><a href="https://www.360.cn/" target="_blank" rel="nofollow">360 奇虎</a></li><li><a [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/profile/index.html b/docs/apisix/2.6/profile/index.html
index 3751018..eb26ec9 100644
--- a/docs/apisix/2.6/profile/index.html
+++ b/docs/apisix/2.6/profile/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/profile"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta d [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ requirements, we need to change the parameters in the configuration file to the
 development environment. You have to change it back. It&#x27;s very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
 between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
 tools such as git can be configured, and version management can be better achieved.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/router-radixtree/index.html b/docs/apisix/2.6/router-radixtree/index.html
index 931cbe3..8420cde 100644
--- a/docs/apisix/2.6/router-radixtree/index.html
+++ b/docs/apisix/2.6/router-radixtree/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/router-radixtree"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </spa [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">graphql</span><span class="token punctuation" style="color:#393A34">:</span><span class=" [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If you need to pass a graphql body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/router-radixtree.md" target="_blank" rel="noreferrer noopener"><svg fill= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/stand-alone/index.html b/docs/apisix/2.6/stand-alone/index.html
index dedd86d..4eeb15a 100644
--- a/docs/apisix/2.6/stand-alone/index.html
+++ b/docs/apisix/2.6/stand-alone/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/stand-alone"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 the APISIX will check if this file has any changed every second.
 If the file changed and we found <code>#END</code> at the end of the file,
 APISIX will load the rules in this file and update to memory of APISIX.</p><p>Here is a mini example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" style [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/stream-proxy/index.html b/docs/apisix/2.6/stream-proxy/index.html
index 726ec01..e539ab4 100644
--- a/docs/apisix/2.6/stream-proxy/index.html
+++ b/docs/apisix/2.6/stream-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/stream-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 By default, no any stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/FAQ/index.html b/docs/apisix/FAQ/index.html
index 91d69ae..c27aa28 100644
--- a/docs/apisix/FAQ/index.html
+++ b/docs/apisix/FAQ/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/FAQ"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ See the <code>Hot reload</code> section in <a href="/docs/apisix/plugins">plugin
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh  --issue  --staging  -d demo.domain --renew-hook </span><span class="token string" style="color:#e3116c">&quot;/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&quot;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span cl [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh --renew --domain demo.domain</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Blog <a href="https://juejin.cn/post/6965778290619449351" target="_blank" rel="noopener noreferrer">https://juejin.cn/post/6965778290619449351</a> has detail setup.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/FAQ.md" target="_blank" rel="noreferrer n [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/IGNORE_DOC/index.html b/docs/apisix/IGNORE_DOC/index.html
index d430b01..3b7cf6a 100644
--- a/docs/apisix/IGNORE_DOC/index.html
+++ b/docs/apisix/IGNORE_DOC/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/IGNORE_DOC"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/admin-api/index.html b/docs/apisix/admin-api/index.html
index 5fb4217..2790ef3 100644
--- a/docs/apisix/admin-api/index.html
+++ b/docs/apisix/admin-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/admin-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus_t [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -83,7 +83,7 @@ This feature requires APISIX to run on <a href="/docs/apisix/how-to-build#6-buil
 used when all the nodes with higher priority are unavailable or tried.</p><p>As the default priority is 0, we can configure nodes with negative priority as the backup.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token [...]
 Therefore it is the backup of <code>127.0.0.1</code>.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="response-parameters-3"></a>Response Parameters<a class="hash-link" href="#response-parameters-3" title="Direct link to heading">#</a></h3><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2 [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span></ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/apisix/index.html b/docs/apisix/architecture-design/apisix/index.html
index b087476..c8f32e8 100644
--- a/docs/apisix/architecture-design/apisix/index.html
+++ b/docs/apisix/architecture-design/apisix/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/apisix"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">host</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/consumer/index.html b/docs/apisix/architecture-design/consumer/index.html
index 58b2a22..5aab3a6 100644
--- a/docs/apisix/architecture-design/consumer/index.html
+++ b/docs/apisix/architecture-design/consumer/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/consumer"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Use the <a href="/docs/apisix/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;bac [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><span cl [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/debug-mode/index.html b/docs/apisix/architecture-design/debug-mode/index.html
index 1e59898..86ca8d1 100644
--- a/docs/apisix/architecture-design/debug-mode/index.html
+++ b/docs/apisix/architecture-design/debug-mode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/debug-mode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can not be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/global-rule/index.html b/docs/apisix/architecture-design/global-rule/index.html
index 33fb384..392c7e2 100644
--- a/docs/apisix/architecture-design/global-rule/index.html
+++ b/docs/apisix/architecture-design/global-rule/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/global-rule"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 We can register a global <a href="/docs/apisix/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain" [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/index.html b/docs/apisix/architecture-design/index.html
index 769a677..8950bb5 100644
--- a/docs/apisix/architecture-design/index.html
+++ b/docs/apisix/architecture-design/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/plugin-config/index.html b/docs/apisix/architecture-design/plugin-config/index.html
index 97015a3..8196e89 100644
--- a/docs/apisix/architecture-design/plugin-config/index.html
+++ b/docs/apisix/architecture-design/plugin-config/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/plugin-config"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain"> [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color:#e31 [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/plugin/index.html b/docs/apisix/architecture-design/plugin/index.html
index 78cd80f..1c5cf5d 100644
--- a/docs/apisix/architecture-design/plugin/index.html
+++ b/docs/apisix/architecture-design/plugin/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/plugin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 then its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/stand-alone">stand alone mode</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apach [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/route/index.html b/docs/apisix/architecture-design/route/index.html
index 9f28386..ee9b4dc 100644
--- a/docs/apisix/architecture-design/route/index.html
+++ b/docs/apisix/architecture-design/route/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/route"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 GMT [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/router/index.html b/docs/apisix/architecture-design/router/index.html
index 7b8e495..168f934 100644
--- a/docs/apisix/architecture-design/router/index.html
+++ b/docs/apisix/architecture-design/router/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/router"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/script/index.html b/docs/apisix/architecture-design/script/index.html
index 1a6f059..f9c8d65 100644
--- a/docs/apisix/architecture-design/script/index.html
+++ b/docs/apisix/architecture-design/script/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/script"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/service/index.html b/docs/apisix/architecture-design/service/index.html
index 7063751..2b0a482 100644
--- a/docs/apisix/architecture-design/service/index.html
+++ b/docs/apisix/architecture-design/service/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/service"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/100 -H </span><span  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style="c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/upstream/index.html b/docs/apisix/architecture-design/upstream/index.html
index 4ff3d92..28e1cbf 100644
--- a/docs/apisix/architecture-design/upstream/index.html
+++ b/docs/apisix/architecture-design/upstream/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/architecture-design/upstream"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/aws/index.html b/docs/apisix/aws/index.html
index ffd26b5..bae8155 100644
--- a/docs/apisix/aws/index.html
+++ b/docs/apisix/aws/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/aws"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="doc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></div><div class [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/batch-processor/index.html b/docs/apisix/batch-processor/index.html
index 7aa4ceb..886d473 100644
--- a/docs/apisix/batch-processor/index.html
+++ b/docs/apisix/batch-processor/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/batch-processor"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#393A34"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Note: Please make sure th [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/benchmark/index.html b/docs/apisix/benchmark/index.html
index 6d461e3..e9e3a1f 100644
--- a/docs/apisix/benchmark/index.html
+++ b/docs/apisix/benchmark/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/benchmark"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus_t [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="latency-1"></a>Latency<a class="hash-link" href="#latenc [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/certificate/index.html b/docs/apisix/certificate/index.html
index 5c5668f..cba003d 100644
--- a/docs/apisix/certificate/index.html
+++ b/docs/apisix/certificate/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/certificate"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/certificate.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/control-api/index.html b/docs/apisix/control-api/index.html
index 251f6db..94c49ae 100644
--- a/docs/apisix/control-api/index.html
+++ b/docs/apisix/control-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/control-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ If a plugin adds such a control API, please refer to each plugin&#x27;s document
 of fields like <code>consumer_schema</code> or <code>type</code>, it is depended on by the plugin&#x27;s
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N8 th [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/customize-nginx-configuration/index.html b/docs/apisix/customize-nginx-configuration/index.html
index e1e1736..acd79ac 100644
--- a/docs/apisix/customize-nginx-configuration/index.html
+++ b/docs/apisix/customize-nginx-configuration/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/customize-nginx-configuration"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-he [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-line" style=" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></div><div class="token-line" style="color:#393A34"><span class="token scalar stri [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/debug-function/index.html b/docs/apisix/debug-function/index.html
index 04960f6..e4d2b24 100644
--- a/docs/apisix/debug-function/index.html
+++ b/docs/apisix/debug-function/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/debug-function"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/consul_kv/index.html b/docs/apisix/discovery/consul_kv/index.html
index fc8ea3d..acad10e 100644
--- a/docs/apisix/discovery/consul_kv/index.html
+++ b/docs/apisix/discovery/consul_kv/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/discovery/consul_kv"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></div><div class=" [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/dns/index.html b/docs/apisix/discovery/dns/index.html
index bedc6a0..c1e115f 100644
--- a/docs/apisix/discovery/dns/index.html
+++ b/docs/apisix/discovery/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/discovery/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus_tag [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3- [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/eureka/index.html b/docs/apisix/discovery/eureka/index.html
index 9e94105..0160ecd 100644
--- a/docs/apisix/discovery/eureka/index.html
+++ b/docs/apisix/discovery/eureka/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/discovery/eureka"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 reading from <a href="/docs/apisix/discovery#supported-discovery-registries">Supported discovery registries</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/eureka.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page" [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/index.html b/docs/apisix/discovery/index.html
index 7943882..7b2a95a 100644
--- a/docs/apisix/discovery/index.html
+++ b/docs/apisix/discovery/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/discovery"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -32,7 +32,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 GMT [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/nacos/index.html b/docs/apisix/discovery/nacos/index.html
index 6930de3..477b046 100644
--- a/docs/apisix/discovery/nacos/index.html
+++ b/docs/apisix/discovery/nacos/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/discovery/nacos"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/dns/index.html b/docs/apisix/dns/index.html
index 0fad331..ba452d7 100644
--- a/docs/apisix/dns/index.html
+++ b/docs/apisix/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
index 698fcca..1d24188 100644
--- a/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/examples/plugins-hmac-auth-generate-signature"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"> [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -55,7 +55,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></div><div class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct link to heading">#</a [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span cla [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/external-plugin/index.html b/docs/apisix/external-plugin/index.html
index 006da5c..bef4bde 100644
--- a/docs/apisix/external-plugin/index.html
+++ b/docs/apisix/external-plugin/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/external-plugin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ declare your variable first in the <code>conf/config.yaml</code>:</p><div class=
 OpenResty 1.19+.</p><p>However, APISIX needs to wait the runner to quit so that we can ensure the resource
 for the process group is freed.</p><p>Therefore, we send SIGTERM first. And then after 1 second, if the runner is still
 running, we will send SIGKILL.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/external-plugin.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0. [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/getting-started/index.html b/docs/apisix/getting-started/index.html
index d961a29..7a06871 100644
--- a/docs/apisix/getting-started/index.html
+++ b/docs/apisix/getting-started/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/getting-started"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 the proxy-rewrite plugin to do it.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/grpc-proxy/index.html b/docs/apisix/grpc-proxy/index.html
index 809d0d0..c61d3e1 100644
--- a/docs/apisix/grpc-proxy/index.html
+++ b/docs/apisix/grpc-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/grpc-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li></ul><h3><a aria-hidden="true" tabindex="-1" c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/health-check/index.html b/docs/apisix/health-check/index.html
index 9f8ad10..138bf80 100644
--- a/docs/apisix/health-check/index.html
+++ b/docs/apisix/health-check/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/health-check"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ you can use it for upstream.</p><p>Note:</p><ul><li>We only start the health che
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</li><li>If there is no healthy node can be chosen, we will continue to access the upstream.</li><li>We won&#x27;t start the health check when the upstream only has one node, as we will access
 it whether this unique node is healthy or not.</li><li>Active health check is required so that the unhealthy node can recover.</li></ul><p>The following is an example of health check:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token  [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/how-to-build/index.html b/docs/apisix/how-to-build/index.html
index d75996a..6d012e7 100644
--- a/docs/apisix/how-to-build/index.html
+++ b/docs/apisix/how-to-build/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/how-to-build"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBloc
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes?api_key</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color: [...]
 If you need those features, you can build OpenResty with
 <a href="https://raw.githubusercontent.com/api7/apisix-build-tools/master/build-apisix-openresty.sh" target="_blank" rel="noopener noreferrer">this build script</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="7-add-systemd-unit-file-for-apisix"></a>7. Add systemd unit file for APISIX<a class="hash-link" href="#7-add-systemd-unit-file-for-apisix" title="Direct link to heading">#</a></h2><p>If you install APISIX with rpm package, the unit file is installed automatically, [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/https/index.html b/docs/apisix/https/index.html
index 72de074..743ff53 100644
--- a/docs/apisix/https/index.html
+++ b/docs/apisix/https/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/https"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/install-dependencies/index.html b/docs/apisix/install-dependencies/index.html
index 7dcfb6f..8f4b207 100644
--- a/docs/apisix/install-dependencies/index.html
+++ b/docs/apisix/install-dependencies/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/install-dependencies"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></div></div></div><butt [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">brew services start etcd</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># enable TLS for etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operator" style="color:#393A [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/mtls/index.html b/docs/apisix/mtls/index.html
index 01d9e72..0246b49 100644
--- a/docs/apisix/mtls/index.html
+++ b/docs/apisix/mtls/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS Authentication | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/mtls"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:d [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token builtin">len</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">sys</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">)</span><span clas [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">reqParam </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">&quot;tls&quot;</span><span class="token punctuation" style="colo [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">resp </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> requests</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">patch</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/upstreams/&quot;</span><span class="token  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/FAQ/index.html b/docs/apisix/next/FAQ/index.html
index eae3ffa..caae716 100644
--- a/docs/apisix/next/FAQ/index.html
+++ b/docs/apisix/next/FAQ/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/FAQ"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ See the <code>Hot reload</code> section in <a href="/docs/apisix/next/plugins">p
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh  --issue  --staging  -d demo.domain --renew-hook </span><span class="token string" style="color:#e3116c">&quot;/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&quot;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span cl [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh --renew --domain demo.domain</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Blog <a href="https://juejin.cn/post/6965778290619449351" target="_blank" rel="noopener noreferrer">https://juejin.cn/post/6965778290619449351</a> has detail setup.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-strip-route-prefix-for-path-matching"></a>How to strip route prefix for path matching<a class="hash-link" href="#how-to-str [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/IGNORE_DOC/index.html b/docs/apisix/next/IGNORE_DOC/index.html
index 6f2ef99..aa5765b 100644
--- a/docs/apisix/next/IGNORE_DOC/index.html
+++ b/docs/apisix/next/IGNORE_DOC/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/IGNORE_DOC"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:d [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/admin-api/index.html b/docs/apisix/next/admin-api/index.html
index 17120b2..02628598 100644
--- a/docs/apisix/next/admin-api/index.html
+++ b/docs/apisix/next/admin-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/admin-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:doc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -85,7 +85,7 @@ This feature requires APISIX to run on <a href="/docs/apisix/next/how-to-build#6
 used when all the nodes with higher priority are unavailable or tried.</p><p>As the default priority is 0, we can configure nodes with negative priority as the backup.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token [...]
 Therefore it is the backup of <code>127.0.0.1</code>.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="response-parameters-3"></a>Response Parameters<a class="hash-link" href="#response-parameters-3" title="Direct link to heading">#</a></h3><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2 [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span></ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/apisix/index.html b/docs/apisix/next/architecture-design/apisix/index.html
index e69b34e..d8e1acf 100644
--- a/docs/apisix/next/architecture-design/apisix/index.html
+++ b/docs/apisix/next/architecture-design/apisix/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/apisix"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">host</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> < [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/consumer/index.html b/docs/apisix/next/architecture-design/consumer/index.html
index 41c00db..c4080c5 100644
--- a/docs/apisix/next/architecture-design/consumer/index.html
+++ b/docs/apisix/next/architecture-design/consumer/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/consumer"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" n [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Use the <a href="/docs/apisix/next/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A3 [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><span cl [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/debug-mode/index.html b/docs/apisix/next/architecture-design/debug-mode/index.html
index ca3f465..bc2d33e 100644
--- a/docs/apisix/next/architecture-design/debug-mode/index.html
+++ b/docs/apisix/next/architecture-design/debug-mode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/debug-mode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can not be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/global-rule/index.html b/docs/apisix/next/architecture-design/global-rule/index.html
index c6024cf..155afbc 100644
--- a/docs/apisix/next/architecture-design/global-rule/index.html
+++ b/docs/apisix/next/architecture-design/global-rule/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/global-rule"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 We can register a global <a href="/docs/apisix/next/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token p [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/index.html b/docs/apisix/next/architecture-design/index.html
index 0d0117a..bbf6ef2 100644
--- a/docs/apisix/next/architecture-design/index.html
+++ b/docs/apisix/next/architecture-design/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/plugin-config/index.html b/docs/apisix/next/architecture-design/plugin-config/index.html
index 2911e4e..10ebdf4 100644
--- a/docs/apisix/next/architecture-design/plugin-config/index.html
+++ b/docs/apisix/next/architecture-design/plugin-config/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/plugin-config"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helme [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain"> [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color:#e31 [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/plugin/index.html b/docs/apisix/next/architecture-design/plugin/index.html
index ef20435..4b6d072 100644
--- a/docs/apisix/next/architecture-design/plugin/index.html
+++ b/docs/apisix/next/architecture-design/plugin/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/plugin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 then its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/next/stand-alone">stand alone mode</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/route/index.html b/docs/apisix/next/architecture-design/route/index.html
index 10fa104..dce51d0 100644
--- a/docs/apisix/next/architecture-design/route/index.html
+++ b/docs/apisix/next/architecture-design/route/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/route"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="d [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 GMT [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span>< [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/router/index.html b/docs/apisix/next/architecture-design/router/index.html
index 5447e04..65eb4db 100644
--- a/docs/apisix/next/architecture-design/router/index.html
+++ b/docs/apisix/next/architecture-design/router/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/router"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/script/index.html b/docs/apisix/next/architecture-design/script/index.html
index 39e7eba..ac61c87 100644
--- a/docs/apisix/next/architecture-design/script/index.html
+++ b/docs/apisix/next/architecture-design/script/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/script"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/service/index.html b/docs/apisix/next/architecture-design/service/index.html
index 8a6cc8c..f52b455 100644
--- a/docs/apisix/next/architecture-design/service/index.html
+++ b/docs/apisix/next/architecture-design/service/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/service"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" nam [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/100 -H </span><span  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style="c [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/architecture-design/upstream/index.html b/docs/apisix/next/architecture-design/upstream/index.html
index ac51a58..1ac2671 100644
--- a/docs/apisix/next/architecture-design/upstream/index.html
+++ b/docs/apisix/next/architecture-design/upstream/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/architecture-design/upstream"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" n [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/aws/index.html b/docs/apisix/next/aws/index.html
index 808ced1..acb1002 100644
--- a/docs/apisix/next/aws/index.html
+++ b/docs/apisix/next/aws/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/aws"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></div><div class [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/batch-processor/index.html b/docs/apisix/next/batch-processor/index.html
index 694478c..619fa60 100644
--- a/docs/apisix/next/batch-processor/index.html
+++ b/docs/apisix/next/batch-processor/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/batch-processor"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="d [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#393A34"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Note: Please make sure th [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/benchmark/index.html b/docs/apisix/next/benchmark/index.html
index b0db66b..b87e67e 100644
--- a/docs/apisix/next/benchmark/index.html
+++ b/docs/apisix/next/benchmark/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/benchmark"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:doc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="latency-1"></a>Latency<a class="hash-link" href="#latenc [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/certificate/index.html b/docs/apisix/next/certificate/index.html
index 2865eb3..c0ab347 100644
--- a/docs/apisix/next/certificate/index.html
+++ b/docs/apisix/next/certificate/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/certificate"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/certificate.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/control-api/index.html b/docs/apisix/next/control-api/index.html
index 2be042a..051c970 100644
--- a/docs/apisix/next/control-api/index.html
+++ b/docs/apisix/next/control-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/control-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ of fields like <code>consumer_schema</code> or <code>type</code>, it is depended
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/next/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23 [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
 Note that when you enable stream proxy, APISIX will run another Lua VM for the stream subsystem. It won&#x27;t trigger a full GC in this Lua VM .</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/control-api.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_ [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/customize-nginx-configuration/index.html b/docs/apisix/next/customize-nginx-configuration/index.html
index d3c57d0..bedb57a 100644
--- a/docs/apisix/next/customize-nginx-configuration/index.html
+++ b/docs/apisix/next/customize-nginx-configuration/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/customize-nginx-configuration"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-line" style=" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></div><div class="token-line" style="color:#393A34"><span class="token scalar stri [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/debug-function/index.html b/docs/apisix/next/debug-function/index.html
index 0b98aa2..bdccd8c 100644
--- a/docs/apisix/next/debug-function/index.html
+++ b/docs/apisix/next/debug-function/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/debug-function"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="doc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class= [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/discovery/consul_kv/index.html b/docs/apisix/next/discovery/consul_kv/index.html
index 9d225a0..7df6382 100644
--- a/docs/apisix/next/discovery/consul_kv/index.html
+++ b/docs/apisix/next/discovery/consul_kv/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/discovery/consul_kv"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="doc [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></div><div class=" [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/discovery/dns/index.html b/docs/apisix/next/discovery/dns/index.html
index b4da07d..4b9f457 100644
--- a/docs/apisix/next/discovery/dns/index.html
+++ b/docs/apisix/next/discovery/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/discovery/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docus [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3- [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/discovery/eureka/index.html b/docs/apisix/next/discovery/eureka/index.html
index d1b8253..b79c3e5 100644
--- a/docs/apisix/next/discovery/eureka/index.html
+++ b/docs/apisix/next/discovery/eureka/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/discovery/eureka"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 reading from <a href="/docs/apisix/next/discovery#supported-discovery-registries">Supported discovery registries</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/eureka.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit  [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/discovery/index.html b/docs/apisix/next/discovery/index.html
index 2d6c589..4f76fa0 100644
--- a/docs/apisix/next/discovery/index.html
+++ b/docs/apisix/next/discovery/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/discovery"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helm [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -32,7 +32,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 GMT [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></div><div class="token-line" style [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/discovery/nacos/index.html b/docs/apisix/next/discovery/nacos/index.html
index fb0f970..87faec0 100644
--- a/docs/apisix/next/discovery/nacos/index.html
+++ b/docs/apisix/next/discovery/nacos/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/discovery/nacos"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:d [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/dns/index.html b/docs/apisix/next/dns/index.html
index 501a013..7cf7c2e 100644
--- a/docs/apisix/next/dns/index.html
+++ b/docs/apisix/next/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m3 [...]
-<script src="/assets/js/runtime~main.1abbe8ea.js"></script>
-<script src="/assets/js/main.33b4a4b9.js"></script>
+<script src="/assets/js/runtime~main.0e888df5.js"></script>
+<script src="/assets/js/main.92fba19f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/next/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/next/examples/plugins-hmac-auth-generate-signature/index.html
index 274b189..9a03ba2 100644
--- a/docs/apisix/next/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/next/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX™ Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX™</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/next/examples/plugins-hmac-auth-generate-signature"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content=" [...]
-<link rel="preload" href="/assets/js/runtime~main.1abbe8ea.js" as="script">
-<link rel="preload" href="/assets/js/main.33b4a4b9.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0e888df5.js" as="script">
+<link rel="preload" href="/assets/js/main.92fba19f.js" as="script">
... 21399 lines suppressed ...