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/04/09 01:20:53 UTC

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

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 cc093ca  deploy: e59f8c5b271889bcb4c4a351c540efe34cec2ba8
cc093ca is described below

commit cc093ca4e7cedf59758fd58e89407bbc8455c519
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Fri Apr 9 01:20:44 2021 +0000

    deploy: e59f8c5b271889bcb4c4a351c540efe34cec2ba8
---
 404.html                                           | 12 ++++-----
 .../{1741c35c.cf39145f.js => 1741c35c.8d17d175.js} |  2 +-
 assets/js/19945770.59169728.js                     |  1 -
 assets/js/19945770.faed2bad.js                     |  1 +
 .../{1bc24c0d.030e475f.js => 1bc24c0d.02592ee5.js} |  2 +-
 assets/js/2f1ee7b9.c49c58bc.js                     |  1 +
 assets/js/2f1ee7b9.e2bd5fe6.js                     |  1 -
 assets/js/3ace1223.3a2359d9.js                     |  1 +
 assets/js/3ace1223.e92ed3fc.js                     |  1 -
 assets/js/3dc9f306.1c730a17.js                     |  1 -
 assets/js/3dc9f306.aa485ddb.js                     |  1 +
 assets/js/50facf8e.abf7ff30.js                     |  1 -
 assets/js/50facf8e.d5f2ed25.js                     |  1 +
 assets/js/66fbb9c2.82366230.js                     |  1 +
 assets/js/66fbb9c2.db27b363.js                     |  1 -
 assets/js/7af3052c.29aae170.js                     |  1 +
 assets/js/7af3052c.2c5882a2.js                     |  1 -
 assets/js/8e784bf3.7e177f7f.js                     |  1 +
 assets/js/8e784bf3.ad820a98.js                     |  1 -
 assets/js/adbb350b.6f966257.js                     |  1 -
 assets/js/adbb350b.a35e8398.js                     |  1 +
 assets/js/{main.1171f2a6.js => main.e23c139f.js}   |  4 +--
 .../js/main.e23c139f.js.LICENSE.txt                |  0
 ...e~main.52b5d651.js => runtime~main.2e2bf43b.js} |  2 +-
 blog/2020/08/22/new-website/index.html             | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../21/run-ingress-apisix-on-amazon-eks/index.html | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 blog/index.html                                    | 12 ++++-----
 docs/apisix/FAQ/index.html                         | 12 ++++-----
 docs/apisix/IGNORE_DOC/index.html                  | 12 ++++-----
 docs/apisix/admin-api/index.html                   | 18 +++++++-------
 docs/apisix/architecture-design/apisix/index.html  | 12 ++++-----
 .../apisix/architecture-design/consumer/index.html | 12 ++++-----
 .../architecture-design/debug-mode/index.html      | 12 ++++-----
 .../architecture-design/global-rule/index.html     | 12 ++++-----
 .../architecture-design/plugin-config/index.html   | 12 ++++-----
 docs/apisix/architecture-design/plugin/index.html  | 12 ++++-----
 docs/apisix/architecture-design/route/index.html   | 12 ++++-----
 docs/apisix/architecture-design/router/index.html  | 12 ++++-----
 docs/apisix/architecture-design/script/index.html  | 12 ++++-----
 docs/apisix/architecture-design/service/index.html | 12 ++++-----
 .../apisix/architecture-design/upstream/index.html | 12 ++++-----
 docs/apisix/aws/index.html                         | 12 ++++-----
 docs/apisix/batch-processor/index.html             | 12 ++++-----
 docs/apisix/benchmark/index.html                   | 12 ++++-----
 docs/apisix/control-api/index.html                 | 12 ++++-----
 .../customize-nginx-configuration/index.html       | 12 ++++-----
 docs/apisix/debug-function/index.html              | 12 ++++-----
 docs/apisix/discovery/consul_kv/index.html         | 12 ++++-----
 docs/apisix/discovery/dns/index.html               | 12 ++++-----
 docs/apisix/discovery/eureka/index.html            | 12 ++++-----
 docs/apisix/discovery/index.html                   | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 docs/apisix/getting-started/index.html             | 12 ++++-----
 docs/apisix/grpc-proxy/index.html                  | 12 ++++-----
 docs/apisix/health-check/index.html                | 12 ++++-----
 docs/apisix/how-to-build/index.html                | 12 ++++-----
 docs/apisix/https/index.html                       | 12 ++++-----
 docs/apisix/install-dependencies/index.html        | 12 ++++-----
 docs/apisix/mtls/index.html                        | 12 ++++-----
 docs/apisix/plugin-develop/index.html              | 12 ++++-----
 docs/apisix/plugin-interceptors/index.html         | 12 ++++-----
 docs/apisix/plugins/api-breaker/index.html         | 12 ++++-----
 docs/apisix/plugins/authz-keycloak/index.html      | 12 ++++-----
 docs/apisix/plugins/basic-auth/index.html          | 12 ++++-----
 docs/apisix/plugins/batch-requests/index.html      | 12 ++++-----
 .../apisix/plugins/consumer-restriction/index.html | 12 ++++-----
 docs/apisix/plugins/cors/index.html                | 12 ++++-----
 docs/apisix/plugins/dubbo-proxy/index.html         | 12 ++++-----
 docs/apisix/plugins/echo/index.html                | 12 ++++-----
 docs/apisix/plugins/error-log-logger/index.html    | 12 ++++-----
 docs/apisix/plugins/fault-injection/index.html     | 12 ++++-----
 docs/apisix/plugins/grpc-transcode/index.html      | 12 ++++-----
 docs/apisix/plugins/hmac-auth/index.html           | 12 ++++-----
 docs/apisix/plugins/http-logger/index.html         | 12 ++++-----
 docs/apisix/plugins/index.html                     | 12 ++++-----
 docs/apisix/plugins/ip-restriction/index.html      | 12 ++++-----
 docs/apisix/plugins/jwt-auth/index.html            | 12 ++++-----
 docs/apisix/plugins/kafka-logger/index.html        | 12 ++++-----
 docs/apisix/plugins/key-auth/index.html            | 12 ++++-----
 docs/apisix/plugins/limit-conn/index.html          | 12 ++++-----
 docs/apisix/plugins/limit-count/index.html         | 12 ++++-----
 docs/apisix/plugins/limit-req/index.html           | 12 ++++-----
 docs/apisix/plugins/log-rotate/index.html          | 12 ++++-----
 docs/apisix/plugins/mqtt-proxy/index.html          | 12 ++++-----
 docs/apisix/plugins/node-status/index.html         | 12 ++++-----
 docs/apisix/plugins/openid-connect/index.html      | 12 ++++-----
 docs/apisix/plugins/prometheus/index.html          | 29 +++++++++-------------
 docs/apisix/plugins/proxy-cache/index.html         | 12 ++++-----
 docs/apisix/plugins/proxy-mirror/index.html        | 12 ++++-----
 docs/apisix/plugins/proxy-rewrite/index.html       | 12 ++++-----
 docs/apisix/plugins/redirect/index.html            | 12 ++++-----
 docs/apisix/plugins/referer-restriction/index.html | 12 ++++-----
 docs/apisix/plugins/request-id/index.html          | 12 ++++-----
 docs/apisix/plugins/request-validation/index.html  | 12 ++++-----
 docs/apisix/plugins/response-rewrite/index.html    | 12 ++++-----
 docs/apisix/plugins/server-info/index.html         | 12 ++++-----
 docs/apisix/plugins/serverless/index.html          | 16 ++++++------
 docs/apisix/plugins/skywalking/index.html          | 12 ++++-----
 docs/apisix/plugins/sls-logger/index.html          | 12 ++++-----
 docs/apisix/plugins/syslog/index.html              | 12 ++++-----
 docs/apisix/plugins/tcp-logger/index.html          | 12 ++++-----
 docs/apisix/plugins/traffic-split/index.html       | 12 ++++-----
 docs/apisix/plugins/udp-logger/index.html          | 12 ++++-----
 docs/apisix/plugins/uri-blocker/index.html         | 12 ++++-----
 docs/apisix/plugins/wolf-rbac/index.html           | 12 ++++-----
 docs/apisix/plugins/zipkin/index.html              | 12 ++++-----
 docs/apisix/profile/index.html                     | 12 ++++-----
 docs/apisix/router-radixtree/index.html            | 18 +++++++-------
 docs/apisix/stand-alone/index.html                 | 12 ++++-----
 docs/apisix/stream-proxy/index.html                | 12 ++++-----
 docs/dashboard/FAQ/index.html                      | 12 ++++-----
 docs/dashboard/I18N_USER_GUIDE/index.html          | 12 ++++-----
 docs/dashboard/IGNORE_DOC/index.html               | 12 ++++-----
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html | 12 ++++-----
 docs/dashboard/USER_GUIDE/index.html               | 12 ++++-----
 docs/dashboard/api/api/index.html                  | 12 ++++-----
 docs/dashboard/back-end-tests/index.html           | 12 ++++-----
 docs/dashboard/deploy-with-docker/index.html       | 12 ++++-----
 docs/dashboard/deploy-with-rpm/index.html          | 12 ++++-----
 docs/dashboard/deploy/index.html                   | 12 ++++-----
 docs/dashboard/develop/index.html                  | 12 ++++-----
 docs/dashboard/front-end-e2e/index.html            | 12 ++++-----
 docs/general/2fa/index.html                        | 16 ++++++------
 docs/general/committer-guide/index.html            | 16 ++++++------
 docs/general/contributor-guide/index.html          | 16 ++++++------
 .../general/integrate-with-project-docs/index.html | 16 ++++++------
 docs/general/release-guide/index.html              | 18 +++++++-------
 docs/general/security/index.html                   | 16 ++++++------
 docs/general/subscribe-guide/index.html            | 16 ++++++------
 docs/index.html                                    | 12 ++++-----
 docs/ingress-controller/FAQ/index.html             | 12 ++++-----
 docs/ingress-controller/IGNORE_DOC/index.html      | 12 ++++-----
 .../concepts/apisix_route/index.html               | 12 ++++-----
 .../concepts/apisix_tls/index.html                 | 12 ++++-----
 .../concepts/apisix_upstream/index.html            | 12 ++++-----
 docs/ingress-controller/contribute/index.html      | 12 ++++-----
 docs/ingress-controller/deployments/ack/index.html | 12 ++++-----
 docs/ingress-controller/deployments/aws/index.html | 12 ++++-----
 .../deployments/azure/index.html                   | 12 ++++-----
 docs/ingress-controller/deployments/gke/index.html | 12 ++++-----
 .../deployments/k3s-rke/index.html                 | 12 ++++-----
 .../deployments/kubesphere/index.html              | 12 ++++-----
 .../deployments/minikube/index.html                | 12 ++++-----
 docs/ingress-controller/deployments/tke/index.html | 12 ++++-----
 docs/ingress-controller/design/index.html          | 12 ++++-----
 docs/ingress-controller/development/index.html     | 12 ++++-----
 docs/ingress-controller/getting-started/index.html | 12 ++++-----
 docs/ingress-controller/practices/index/index.html | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../practices/proxy-the-httpbin-service/index.html | 12 ++++-----
 .../references/apisix_route_v1/index.html          | 12 ++++-----
 .../references/apisix_route_v2alpha1/index.html    | 12 ++++-----
 .../references/apisix_tls/index.html               | 12 ++++-----
 .../references/apisix_upstream/index.html          | 12 ++++-----
 downloads/ProjectCard/index.html                   | 10 ++++----
 downloads/index.html                               | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../02/09/release-apache-apisix-2.3/index.html     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../release-apache-apisix-dashboard-2.4/index.html | 12 ++++-----
 .../03/05/release-apache-apisix-2.4/index.html     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../04/05/release-apache-apisix-2.5/index.html     | 12 ++++-----
 events/index.html                                  | 12 ++++-----
 help/index.html                                    | 12 ++++-----
 index.html                                         | 12 ++++-----
 search/index.html                                  | 12 ++++-----
 team/index.html                                    | 12 ++++-----
 zh/404.html                                        | 12 ++++-----
 zh/assets/js/19945770.22de58eb.js                  |  1 +
 zh/assets/js/19945770.d5967444.js                  |  1 -
 zh/assets/js/2f1ee7b9.5c3b7e99.js                  |  1 +
 zh/assets/js/2f1ee7b9.6a2858a1.js                  |  1 -
 zh/assets/js/3dc9f306.4b5f665a.js                  |  1 -
 zh/assets/js/3dc9f306.acf1f148.js                  |  1 +
 zh/assets/js/50facf8e.41aa5882.js                  |  1 -
 zh/assets/js/50facf8e.517cddb8.js                  |  1 +
 zh/assets/js/66fbb9c2.b9a90dbf.js                  |  1 -
 zh/assets/js/66fbb9c2.cfad59db.js                  |  1 +
 zh/assets/js/7af3052c.04322a3b.js                  |  1 +
 zh/assets/js/7af3052c.47d0e6bd.js                  |  1 -
 zh/assets/js/8e784bf3.2f83f7ef.js                  |  1 +
 zh/assets/js/8e784bf3.621f80e0.js                  |  1 -
 zh/assets/js/adbb350b.9d0a1999.js                  |  1 +
 zh/assets/js/adbb350b.d0c1eeb9.js                  |  1 -
 .../{d0e718c3.62f61e84.js => d0e718c3.3009deb1.js} |  2 +-
 zh/assets/js/e00a615f.6c1d4d99.js                  |  1 -
 zh/assets/js/e00a615f.92fc0d7b.js                  |  1 +
 zh/assets/js/ece6e754.13dea1a0.js                  |  1 +
 zh/assets/js/ece6e754.3e69baa5.js                  |  1 -
 .../js/{main.369efd25.js => main.f9a260b0.js}      |  4 +--
 .../assets/js/main.f9a260b0.js.LICENSE.txt         |  0
 ...e~main.d9182733.js => runtime~main.c782b49d.js} |  2 +-
 zh/blog/2020/08/22/new-website/index.html          | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../21/run-ingress-apisix-on-amazon-eks/index.html | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 zh/blog/index.html                                 | 12 ++++-----
 zh/docs/apisix/FAQ/index.html                      | 12 ++++-----
 zh/docs/apisix/IGNORE_DOC/index.html               | 12 ++++-----
 zh/docs/apisix/admin-api/index.html                | 18 +++++++-------
 .../apisix/architecture-design/apisix/index.html   | 12 ++++-----
 .../apisix/architecture-design/consumer/index.html | 12 ++++-----
 .../architecture-design/debug-mode/index.html      | 12 ++++-----
 .../architecture-design/global-rule/index.html     | 12 ++++-----
 .../architecture-design/plugin-config/index.html   | 12 ++++-----
 .../apisix/architecture-design/plugin/index.html   | 12 ++++-----
 .../apisix/architecture-design/route/index.html    | 12 ++++-----
 .../apisix/architecture-design/router/index.html   | 12 ++++-----
 .../apisix/architecture-design/script/index.html   | 12 ++++-----
 .../apisix/architecture-design/service/index.html  | 12 ++++-----
 .../apisix/architecture-design/upstream/index.html | 12 ++++-----
 zh/docs/apisix/aws/index.html                      | 12 ++++-----
 zh/docs/apisix/batch-processor/index.html          | 12 ++++-----
 zh/docs/apisix/benchmark/index.html                | 12 ++++-----
 zh/docs/apisix/control-api/index.html              | 12 ++++-----
 .../customize-nginx-configuration/index.html       | 12 ++++-----
 zh/docs/apisix/debug-function/index.html           | 12 ++++-----
 zh/docs/apisix/discovery/consul_kv/index.html      | 12 ++++-----
 zh/docs/apisix/discovery/dns/index.html            | 12 ++++-----
 zh/docs/apisix/discovery/eureka/index.html         | 12 ++++-----
 zh/docs/apisix/discovery/index.html                | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 zh/docs/apisix/getting-started/index.html          | 12 ++++-----
 zh/docs/apisix/grpc-proxy/index.html               | 12 ++++-----
 zh/docs/apisix/health-check/index.html             | 12 ++++-----
 zh/docs/apisix/how-to-build/index.html             | 12 ++++-----
 zh/docs/apisix/https/index.html                    | 12 ++++-----
 zh/docs/apisix/install-dependencies/index.html     | 12 ++++-----
 zh/docs/apisix/mtls/index.html                     | 12 ++++-----
 zh/docs/apisix/plugin-develop/index.html           | 12 ++++-----
 zh/docs/apisix/plugin-interceptors/index.html      | 12 ++++-----
 zh/docs/apisix/plugins/api-breaker/index.html      | 12 ++++-----
 zh/docs/apisix/plugins/authz-keycloak/index.html   | 12 ++++-----
 zh/docs/apisix/plugins/basic-auth/index.html       | 12 ++++-----
 zh/docs/apisix/plugins/batch-requests/index.html   | 12 ++++-----
 .../apisix/plugins/consumer-restriction/index.html | 12 ++++-----
 zh/docs/apisix/plugins/cors/index.html             | 12 ++++-----
 zh/docs/apisix/plugins/dubbo-proxy/index.html      | 12 ++++-----
 zh/docs/apisix/plugins/echo/index.html             | 12 ++++-----
 zh/docs/apisix/plugins/error-log-logger/index.html | 12 ++++-----
 zh/docs/apisix/plugins/fault-injection/index.html  | 12 ++++-----
 zh/docs/apisix/plugins/grpc-transcode/index.html   | 12 ++++-----
 zh/docs/apisix/plugins/hmac-auth/index.html        | 12 ++++-----
 zh/docs/apisix/plugins/http-logger/index.html      | 12 ++++-----
 zh/docs/apisix/plugins/index.html                  | 12 ++++-----
 zh/docs/apisix/plugins/ip-restriction/index.html   | 12 ++++-----
 zh/docs/apisix/plugins/jwt-auth/index.html         | 12 ++++-----
 zh/docs/apisix/plugins/kafka-logger/index.html     | 12 ++++-----
 zh/docs/apisix/plugins/key-auth/index.html         | 12 ++++-----
 zh/docs/apisix/plugins/limit-conn/index.html       | 12 ++++-----
 zh/docs/apisix/plugins/limit-count/index.html      | 12 ++++-----
 zh/docs/apisix/plugins/limit-req/index.html        | 12 ++++-----
 zh/docs/apisix/plugins/log-rotate/index.html       | 12 ++++-----
 zh/docs/apisix/plugins/mqtt-proxy/index.html       | 12 ++++-----
 zh/docs/apisix/plugins/node-status/index.html      | 12 ++++-----
 zh/docs/apisix/plugins/openid-connect/index.html   | 12 ++++-----
 zh/docs/apisix/plugins/prometheus/index.html       | 19 +++++++-------
 zh/docs/apisix/plugins/proxy-cache/index.html      | 12 ++++-----
 zh/docs/apisix/plugins/proxy-mirror/index.html     | 12 ++++-----
 zh/docs/apisix/plugins/proxy-rewrite/index.html    | 12 ++++-----
 zh/docs/apisix/plugins/redirect/index.html         | 12 ++++-----
 .../apisix/plugins/referer-restriction/index.html  | 12 ++++-----
 zh/docs/apisix/plugins/request-id/index.html       | 12 ++++-----
 .../apisix/plugins/request-validation/index.html   | 12 ++++-----
 zh/docs/apisix/plugins/response-rewrite/index.html | 12 ++++-----
 zh/docs/apisix/plugins/server-info/index.html      | 12 ++++-----
 zh/docs/apisix/plugins/serverless/index.html       | 18 +++++++-------
 zh/docs/apisix/plugins/skywalking/index.html       | 12 ++++-----
 zh/docs/apisix/plugins/sls-logger/index.html       | 12 ++++-----
 zh/docs/apisix/plugins/syslog/index.html           | 12 ++++-----
 zh/docs/apisix/plugins/tcp-logger/index.html       | 12 ++++-----
 zh/docs/apisix/plugins/traffic-split/index.html    | 12 ++++-----
 zh/docs/apisix/plugins/udp-logger/index.html       | 12 ++++-----
 zh/docs/apisix/plugins/uri-blocker/index.html      | 12 ++++-----
 zh/docs/apisix/plugins/wolf-rbac/index.html        | 12 ++++-----
 zh/docs/apisix/plugins/zipkin/index.html           | 12 ++++-----
 zh/docs/apisix/profile/index.html                  | 12 ++++-----
 zh/docs/apisix/router-radixtree/index.html         | 18 +++++++-------
 zh/docs/apisix/stand-alone/index.html              | 12 ++++-----
 zh/docs/apisix/stream-proxy/index.html             | 12 ++++-----
 zh/docs/dashboard/FAQ/index.html                   | 12 ++++-----
 zh/docs/dashboard/I18N_USER_GUIDE/index.html       | 12 ++++-----
 zh/docs/dashboard/IGNORE_DOC/index.html            | 12 ++++-----
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html | 12 ++++-----
 zh/docs/dashboard/USER_GUIDE/index.html            | 12 ++++-----
 zh/docs/dashboard/api/api/index.html               | 12 ++++-----
 zh/docs/dashboard/back-end-tests/index.html        | 12 ++++-----
 zh/docs/dashboard/deploy-with-docker/index.html    | 12 ++++-----
 zh/docs/dashboard/deploy-with-rpm/index.html       | 12 ++++-----
 zh/docs/dashboard/deploy/index.html                | 12 ++++-----
 zh/docs/dashboard/develop/index.html               | 12 ++++-----
 zh/docs/dashboard/front-end-e2e/index.html         | 12 ++++-----
 zh/docs/general/2fa/index.html                     | 16 ++++++------
 zh/docs/general/committer-guide/index.html         | 16 ++++++------
 zh/docs/general/contributor-guide/index.html       | 16 ++++++------
 .../general/integrate-with-project-docs/index.html | 16 ++++++------
 zh/docs/general/release-guide/index.html           | 18 +++++++-------
 zh/docs/general/security/index.html                | 16 ++++++------
 zh/docs/general/subscribe-guide/index.html         | 16 ++++++------
 zh/docs/index.html                                 | 12 ++++-----
 zh/docs/ingress-controller/FAQ/index.html          | 12 ++++-----
 zh/docs/ingress-controller/IGNORE_DOC/index.html   | 12 ++++-----
 .../concepts/apisix_route/index.html               | 12 ++++-----
 .../concepts/apisix_tls/index.html                 | 12 ++++-----
 .../concepts/apisix_upstream/index.html            | 12 ++++-----
 zh/docs/ingress-controller/contribute/index.html   | 12 ++++-----
 .../ingress-controller/deployments/ack/index.html  | 12 ++++-----
 .../ingress-controller/deployments/aws/index.html  | 12 ++++-----
 .../deployments/azure/index.html                   | 12 ++++-----
 .../ingress-controller/deployments/gke/index.html  | 12 ++++-----
 .../deployments/k3s-rke/index.html                 | 12 ++++-----
 .../deployments/kubesphere/index.html              | 12 ++++-----
 .../deployments/minikube/index.html                | 12 ++++-----
 .../ingress-controller/deployments/tke/index.html  | 12 ++++-----
 zh/docs/ingress-controller/design/index.html       | 12 ++++-----
 zh/docs/ingress-controller/development/index.html  | 12 ++++-----
 .../ingress-controller/getting-started/index.html  | 12 ++++-----
 .../ingress-controller/practices/index/index.html  | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../practices/proxy-the-httpbin-service/index.html | 12 ++++-----
 .../references/apisix_route_v1/index.html          | 12 ++++-----
 .../references/apisix_route_v2alpha1/index.html    | 12 ++++-----
 .../references/apisix_tls/index.html               | 12 ++++-----
 .../references/apisix_upstream/index.html          | 12 ++++-----
 zh/downloads/ProjectCard/index.html                | 10 ++++----
 zh/downloads/index.html                            | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../02/09/release-apache-apisix-2.3/index.html     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../release-apache-apisix-dashboard-2.4/index.html | 12 ++++-----
 .../03/05/release-apache-apisix-2.4/index.html     | 12 ++++-----
 .../index.html                                     | 12 ++++-----
 .../04/05/release-apache-apisix-2.5/index.html     | 12 ++++-----
 zh/events/index.html                               | 12 ++++-----
 zh/help/index.html                                 | 12 ++++-----
 zh/index.html                                      | 12 ++++-----
 zh/search/index.html                               | 12 ++++-----
 zh/team/index.html                                 | 12 ++++-----
 351 files changed, 1907 insertions(+), 1911 deletions(-)

diff --git a/404.html b/404.html
index 891030c..3659a01 100644
--- a/404.html
+++ b/404.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//404.html"><meta data-react-helmet="true" na [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/1741c35c.cf39145f.js b/assets/js/1741c35c.8d17d175.js
similarity index 73%
rename from assets/js/1741c35c.cf39145f.js
rename to assets/js/1741c35c.8d17d175.js
index 5126c49..1780d45 100644
--- a/assets/js/1741c35c.cf39145f.js
+++ b/assets/js/1741c35c.8d17d175.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function l(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})) [...]
\ No newline at end of file
diff --git a/assets/js/19945770.59169728.js b/assets/js/19945770.59169728.js
deleted file mode 100644
index 50b244a..0000000
--- a/assets/js/19945770.59169728.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);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})) [...]
\ No newline at end of file
diff --git a/assets/js/19945770.faed2bad.js b/assets/js/19945770.faed2bad.js
new file mode 100644
index 0000000..d7e2284
--- /dev/null
+++ b/assets/js/19945770.faed2bad.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);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})) [...]
\ No newline at end of file
diff --git a/assets/js/1bc24c0d.030e475f.js b/assets/js/1bc24c0d.02592ee5.js
similarity index 84%
rename from assets/js/1bc24c0d.030e475f.js
rename to assets/js/1bc24c0d.02592ee5.js
index 19bf15b..322eac0 100644
--- a/assets/js/1bc24c0d.030e475f.js
+++ b/assets/js/1bc24c0d.02592ee5.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{255:function(e,t,a){"use strict";a.d(t,"a",(function(){return u})),a.d(t,"b",(function(){return s}));var n=a(0),l=a.n(n);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function b(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{255:function(e,t,a){"use strict";a.d(t,"a",(function(){return u})),a.d(t,"b",(function(){return s}));var n=a(0),l=a.n(n);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function b(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/2f1ee7b9.c49c58bc.js b/assets/js/2f1ee7b9.c49c58bc.js
new file mode 100644
index 0000000..a6adc75
--- /dev/null
+++ b/assets/js/2f1ee7b9.c49c58bc.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{105:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),l=(n(0),n(255)),i={title:"Router radixtree"},o={unversionedId:"router-radixtree",id:"router-radixtree",isDocsHomePage:!1,title:"Router radixtree",description:"\x3c!--",source:"@site/docs/apisix/router-radixtree.md", [...]
\ No newline at end of file
diff --git a/assets/js/2f1ee7b9.e2bd5fe6.js b/assets/js/2f1ee7b9.e2bd5fe6.js
deleted file mode 100644
index ca46b31..0000000
--- a/assets/js/2f1ee7b9.e2bd5fe6.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{105:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return b})),r.d(t,"toc",(function(){return o})),r.d(t,"default",(function(){return p}));var a=r(3),n=r(7),i=(r(0),r(255)),l={title:"Router radixtree"},b={unversionedId:"router-radixtree",id:"router-radixtree",isDocsHomePage:!1,title:"Router radixtree",description:"\x3c!--",source:"@site/docs/apisix/router-radixtree.md", [...]
\ No newline at end of file
diff --git a/assets/js/3ace1223.3a2359d9.js b/assets/js/3ace1223.3a2359d9.js
new file mode 100644
index 0000000..5b6b94d
--- /dev/null
+++ b/assets/js/3ace1223.3a2359d9.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{114:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(7),i=(n(0),n(255)),s={title:"prometheus"},c={unversionedId:"plugins/prometheus",id:"plugins/prometheus",isDocsHomePage:!1,title:"prometheus",description:"\x3c!--",source:"@site/docs/apisix/plugins/prometheus.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/3ace1223.e92ed3fc.js b/assets/js/3ace1223.e92ed3fc.js
deleted file mode 100644
index 6f9443d..0000000
--- a/assets/js/3ace1223.e92ed3fc.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{114:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(7),i=(n(0),n(255)),s={title:"prometheus"},c={unversionedId:"plugins/prometheus",id:"plugins/prometheus",isDocsHomePage:!1,title:"prometheus",description:"\x3c!--",source:"@site/docs/apisix/plugins/prometheus.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.1c730a17.js b/assets/js/3dc9f306.1c730a17.js
deleted file mode 100644
index 98f6bcc..0000000
--- a/assets/js/3dc9f306.1c730a17.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{115:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(7),a=(n(0),n(255)),i={id:"2fa",title:"2FA"},c={unversionedId:"2fa",id:"2fa",isDocsHomePage:!1,title:"2FA",description:"Two-factor authentication(2FA)",source:"@site/docs/general/2fa.md",slug:"/2fa",permalink:"/docs/gen [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.aa485ddb.js b/assets/js/3dc9f306.aa485ddb.js
new file mode 100644
index 0000000..4ee524e
--- /dev/null
+++ b/assets/js/3dc9f306.aa485ddb.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{115:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return s}));var r=n(3),o=n(7),a=(n(0),n(255)),i={id:"2fa",title:"2FA"},c={unversionedId:"2fa",id:"2fa",isDocsHomePage:!1,title:"2FA",description:"Two-factor authentication(2FA)",source:"@site/docs/general/2fa.md",slug:"/2fa",permalink:"/docs/gen [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.abf7ff30.js b/assets/js/50facf8e.abf7ff30.js
deleted file mode 100644
index 8128f20..0000000
--- a/assets/js/50facf8e.abf7ff30.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{127:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var i=r(3),n=r(7),a=(r(0),r(255)),o={id:"subscribe-guide",slug:"/subscribe-guide",title:"Subscribe Guide"},c={unversionedId:"subscribe-guide",id:"subscribe-guide",isDocsHomePage:!1,title:"Subscribe Guide",description:"During the proc [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.d5f2ed25.js b/assets/js/50facf8e.d5f2ed25.js
new file mode 100644
index 0000000..dbc9a2d
--- /dev/null
+++ b/assets/js/50facf8e.d5f2ed25.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{127:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var i=r(3),n=r(7),a=(r(0),r(255)),o={id:"subscribe-guide",slug:"/subscribe-guide",title:"Subscribe Guide"},c={unversionedId:"subscribe-guide",id:"subscribe-guide",isDocsHomePage:!1,title:"Subscribe Guide",description:"During the proc [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.82366230.js b/assets/js/66fbb9c2.82366230.js
new file mode 100644
index 0000000..4a736c8
--- /dev/null
+++ b/assets/js/66fbb9c2.82366230.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{144:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),i=(r(0),r(255)),o={id:"security",title:"Security"},c={unversionedId:"security",id:"security",isDocsHomePage:!1,title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating secu [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.db27b363.js b/assets/js/66fbb9c2.db27b363.js
deleted file mode 100644
index 3480bc2..0000000
--- a/assets/js/66fbb9c2.db27b363.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{144:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),i=(r(0),r(255)),o={id:"security",title:"Security"},c={unversionedId:"security",id:"security",isDocsHomePage:!1,title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating secu [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.29aae170.js b/assets/js/7af3052c.29aae170.js
new file mode 100644
index 0000000..b26bac9
--- /dev/null
+++ b/assets/js/7af3052c.29aae170.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[90],{158:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return s})),t.d(a,"metadata",(function(){return o})),t.d(a,"toc",(function(){return l})),t.d(a,"default",(function(){return p}));var n=t(3),i=t(7),r=(t(0),t(255)),s={id:"release-guide",title:"Release Guide"},o={unversionedId:"release-guide",id:"release-guide",isDocsHomePage:!1,title:"Release Guide",description:"Release Flow",source:"@site/docs/general/release- [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.2c5882a2.js b/assets/js/7af3052c.2c5882a2.js
deleted file mode 100644
index 54e163c..0000000
--- a/assets/js/7af3052c.2c5882a2.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[90],{158:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return s})),t.d(a,"metadata",(function(){return o})),t.d(a,"toc",(function(){return l})),t.d(a,"default",(function(){return p}));var n=t(3),i=t(7),r=(t(0),t(255)),s={id:"release-guide",title:"Release Guide"},o={unversionedId:"release-guide",id:"release-guide",isDocsHomePage:!1,title:"Release Guide",description:"Release Flow",source:"@site/docs/general/release- [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.7e177f7f.js b/assets/js/8e784bf3.7e177f7f.js
new file mode 100644
index 0000000..271c9ac
--- /dev/null
+++ b/assets/js/8e784bf3.7e177f7f.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[103],{170:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var o=n(3),r=n(7),a=(n(0),n(255)),i={id:"committer-guide",title:"Committer Guide"},c={unversionedId:"committer-guide",id:"committer-guide",isDocsHomePage:!1,title:"Committer Guide",description:"What can I contribute?",source:"@site/ [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.ad820a98.js b/assets/js/8e784bf3.ad820a98.js
deleted file mode 100644
index 0f7e13b..0000000
--- a/assets/js/8e784bf3.ad820a98.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[103],{170:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var o=n(3),r=n(7),a=(n(0),n(255)),i={id:"committer-guide",title:"Committer Guide"},c={unversionedId:"committer-guide",id:"committer-guide",isDocsHomePage:!1,title:"Committer Guide",description:"What can I contribute?",source:"@site/ [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.6f966257.js b/assets/js/adbb350b.6f966257.js
deleted file mode 100644
index ff93515..0000000
--- a/assets/js/adbb350b.6f966257.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{191:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return s})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return b}));var i=r(3),a=r(7),n=(r(0),r(255)),o={id:"contributor-guide",title:"Contributor Guide"},s={unversionedId:"contributor-guide",id:"contributor-guide",isDocsHomePage:!1,title:"Contributor Guide",description:"Please fee free to report bu [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.a35e8398.js b/assets/js/adbb350b.a35e8398.js
new file mode 100644
index 0000000..87ef837
--- /dev/null
+++ b/assets/js/adbb350b.a35e8398.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{191:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return s})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return b}));var i=r(3),a=r(7),n=(r(0),r(255)),o={id:"contributor-guide",title:"Contributor Guide"},s={unversionedId:"contributor-guide",id:"contributor-guide",isDocsHomePage:!1,title:"Contributor Guide",description:"Please fee free to report bu [...]
\ No newline at end of file
diff --git a/assets/js/main.1171f2a6.js b/assets/js/main.e23c139f.js
similarity index 99%
rename from assets/js/main.1171f2a6.js
rename to assets/js/main.e23c139f.js
index af5b775..4586e5d 100644
--- a/assets/js/main.1171f2a6.js
+++ b/assets/js/main.e23c139f.js
@@ -1,2 +1,2 @@
-/*! For license information please see main.1171f2a6.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[181],[function(e,t,n){"use strict";e.exports=n(38)},function(e,t,n){e.exports=n(42)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return O})),n.d(t,"e",(function(){return b})),n.d(t,"f",(function(){return L})),n.d(t,"g",(function(){return j})),n.d(t,"h",(function(){return g})),n.d(t,"i",(function(){return E})),n.d(t,"j",(functi [...]
\ No newline at end of file
+/*! For license information please see main.e23c139f.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[181],[function(e,t,n){"use strict";e.exports=n(38)},function(e,t,n){e.exports=n(42)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return O})),n.d(t,"e",(function(){return b})),n.d(t,"f",(function(){return L})),n.d(t,"g",(function(){return j})),n.d(t,"h",(function(){return g})),n.d(t,"i",(function(){return E})),n.d(t,"j",(functi [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.369efd25.js.LICENSE.txt b/assets/js/main.e23c139f.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.369efd25.js.LICENSE.txt
rename to assets/js/main.e23c139f.js.LICENSE.txt
diff --git a/assets/js/runtime~main.52b5d651.js b/assets/js/runtime~main.2e2bf43b.js
similarity index 93%
rename from assets/js/runtime~main.52b5d651.js
rename to assets/js/runtime~main.2e2bf43b.js
index 2325431..b9ab3ee 100644
--- a/assets/js/runtime~main.52b5d651.js
+++ b/assets/js/runtime~main.2e2bf43b.js
@@ -1 +1 @@
-!function(e){function a(a){for(var d,r,t=a[0],n=a[1],o=a[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(b,r)&&b[r]&&l.push(b[r][0]),b[r]=0;for(d in n)Object.prototype.hasOwnProperty.call(n,d)&&(e[d]=n[d]);for(i&&i(a);l.length;)l.shift()();return c.push.apply(c,o||[]),f()}function f(){for(var e,a=0;a<c.length;a++){for(var f=c[a],d=!0,r=1;r<f.length;r++){var n=f[r];0!==b[n]&&(d=!1)}d&&(c.splice(a--,1),e=t(t.s=f[0]))}return e}var d={},b={182:0},c=[];function r(e){ret [...]
\ No newline at end of file
+!function(e){function a(a){for(var d,r,t=a[0],n=a[1],o=a[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(b,r)&&b[r]&&l.push(b[r][0]),b[r]=0;for(d in n)Object.prototype.hasOwnProperty.call(n,d)&&(e[d]=n[d]);for(i&&i(a);l.length;)l.shift()();return c.push.apply(c,o||[]),f()}function f(){for(var e,a=0;a<c.length;a++){for(var f=c[a],d=!0,r=1;r<f.length;r++){var n=f[r];0!==b[n]&&(d=!1)}d&&(c.splice(a--,1),e=t(t.s=f[0]))}return e}var d={},b={182:0},c=[];function r(e){ret [...]
\ 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 79fa8e2..4258fcd 100644
--- a/blog/2020/08/22/new-website/index.html
+++ b/blog/2020/08/22/new-website/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="t [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/a6641250.0fe42427.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
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 3f62f24..050c25d 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
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/749ed826.a41b9848.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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 enhancedAnchor_2LWZ" 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  [...]
 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 enhancedAnchor_2LWZ" 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> [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
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 c4e98bc..8794743 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
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/a4a2cefa.67b7bdf7.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
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 27106ef..c0b7b9e 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
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" na [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/1c89ab3b.3de84c7d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;headers&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token plain"> </span><span c [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
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 d8e72e6..2334522 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
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/47e0bf55.cf9d07f0.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
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 d112494..36eff49 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
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/96ff6680.22acbec5.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apache APIS [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME: apisix-gw</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">LAST DEPLOYED: Fri Feb 19 11:34:14 2021</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAMESPACE: default</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">STATUS: deployed</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
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 2071f57..3ac3f81 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
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/5aca9bfb.8eeb1a37.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
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 dab8ebe..b1d8d00 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
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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="Traffic Split is a feature that splits and deliveries traffic to multiple [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/2ceea113.0367f1b3.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/blog/index.html b/blog/index.html
index 2d55d44..a3ef506 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apa [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -34,11 +34,11 @@
 <link rel="preload" href="/assets/js/b2b675dd.af75ded3.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/docs/apisix/FAQ/index.html b/docs/apisix/FAQ/index.html
index 0947460..e788584 100644
--- a/docs/apisix/FAQ/index.html
+++ b/docs/apisix/FAQ/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-apisix [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/162a65a3.5e32392e.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 Run the <code>luarocks config rocks_servers</code> command(this command is supported after luarocks 3.0) to see which server are available.
 For China mainland users, you can use the <code>luarocks.cn</code> as the luarocks server.</p><p>We already provide a wrapper in the Makefile to simplify your job:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token assign-left variable" style="colo [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -i http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></di [...]
@@ -36,8 +36,8 @@ 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/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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 headi [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># The uri match failed</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/12ab -i</span></div><div class="token-line" style="c [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/IGNORE_DOC/index.html b/docs/apisix/IGNORE_DOC/index.html
index 008765b..19d1de3 100644
--- a/docs/apisix/IGNORE_DOC/index.html
+++ b/docs/apisix/IGNORE_DOC/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/601c6eaa.72dca6af.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/admin-api/index.html b/docs/apisix/admin-api/index.html
index de33178..18071e7 100644
--- a/docs/apisix/admin-api/index.html
+++ b/docs/apisix/admin-api/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/1bc24c0d.030e475f.js" as="script">
+<link rel="preload" href="/assets/js/1bc24c0d.02592ee5.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Date: Sat, </span><span class="token number" style="color:rgb(247, 140, 108)">31</span><span class="token plain"> Aug </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Create a route expires after 60 seconds, then it&#x27;s deleted automatically</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Date: Sat, </span><span class="token number" style="color:rgb(247, 140, 108)">31</span><span class="token plain"> Aug </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span  [...]
@@ -86,16 +86,16 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><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:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token  [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Example 2: How to proxy client request to <code>https</code> upstream service</p><ol><li>Create a route and configure the upstream scheme as <code>https</code>.</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style= [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuatio [...]
-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 enhancedAnchor_2LWZ" 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><ta [...]
+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 enhancedAnchor_2LWZ" 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><ta [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&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:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><s [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/d73fca9b.6881e694.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/1bc24c0d.030e475f.js"></script>
+<script src="/assets/js/1bc24c0d.02592ee5.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 bc1d7d6..462b9cd 100644
--- a/docs/apisix/architecture-design/apisix/index.html
+++ b/docs/apisix/architecture-design/apisix/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-api [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/92b07c7e.29dc6594.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apisix</span><span class="token punctuation" style="color:rgb(199, 146, 234) [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">etcd</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token key atrule">host</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="tok [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/architecture-design/consumer/index.html b/docs/apisix/architecture-design/consumer/index.html
index bab5fe7..40b0b6f 100644
--- a/docs/apisix/architecture-design/consumer/index.html
+++ b/docs/apisix/architecture-design/consumer/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-a [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/ec546d2e.99098154.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Create a Router, set routing rules and enable plugin configuration</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apis [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Send a test request, the first two return to normal, did not reach the speed limit threshold</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain">  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;apikey: auth-one&#x27;</span><span class="token plain"> -I</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color [...]
@@ -36,8 +36,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);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:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/he [...]
 </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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/architecture-design/debug-mode/index.html b/docs/apisix/architecture-design/debug-mode/index.html
index 155b65b..3171d23 100644
--- a/docs/apisix/architecture-design/debug-mode/index.html
+++ b/docs/apisix/architecture-design/debug-mode/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/91ce05ef.76fa49c1.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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 enhancedAnchor_2LWZ" 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> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">hook_phase</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/architecture-design/global-rule/index.html b/docs/apisix/architecture-design/global-rule/index.html
index 284cc64..cb28895 100644
--- a/docs/apisix/architecture-design/global-rule/index.html
+++ b/docs/apisix/architecture-design/global-rule/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/2b03a116.4e765717.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 We can register a global <a href="/docs/apisix/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/architecture-design/plugin-config/index.html b/docs/apisix/architecture-design/plugin-config/index.html
index 54bc216..26d53c7 100644
--- a/docs/apisix/architecture-design/plugin-config/index.html
+++ b/docs/apisix/architecture-design/plugin-config/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-d [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/ef63a76e.88e294a9.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># create a plugin config</span><span class="token plain">< [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># bind it to route</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token str [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">{</span></div><div class [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/architecture-design/plugin/index.html b/docs/apisix/architecture-design/plugin/index.html
index 97eb745..45c1507 100644
--- a/docs/apisix/architecture-design/plugin/index.html
+++ b/docs/apisix/architecture-design/plugin/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-api [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/f202f54b.d3321997.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/architecture-design/route/index.html b/docs/apisix/architecture-design/route/index.html
index ef9df23..01febbd 100644
--- a/docs/apisix/architecture-design/route/index.html
+++ b/docs/apisix/architecture-design/route/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-apis [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/89d0b30c.252cf278.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Date: Sat, </span><span class="token number" style="color:rgb(247, 140, 108)">31</span><span class="token plain"> Aug </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;value&quot;</span><span class="token plain">:</span><span class="token  [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/architecture-design/router/index.html b/docs/apisix/architecture-design/router/index.html
index 2cc6c1e..2e5d213 100644
--- a/docs/apisix/architecture-design/router/index.html
+++ b/docs/apisix/architecture-design/router/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-api [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/8b956bd2.07835c11.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/architecture-design/script/index.html b/docs/apisix/architecture-design/script/index.html
index d797755..48861d8 100644
--- a/docs/apisix/architecture-design/script/index.html
+++ b/docs/apisix/architecture-design/script/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-api [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/0dc3e78d.a9a2f6c8.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/architecture-design/service/index.html b/docs/apisix/architecture-design/service/index.html
index 9f41888..e050643 100644
--- a/docs/apisix/architecture-design/service/index.html
+++ b/docs/apisix/architecture-design/service/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-ap [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/dcb3fc1e.d7d38f43.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);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:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/route [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/architecture-design/upstream/index.html b/docs/apisix/architecture-design/upstream/index.html
index 0e2dcba..a2e040f 100644
--- a/docs/apisix/architecture-design/upstream/index.html
+++ b/docs/apisix/architecture-design/upstream/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-a [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/e5ad0cc6.b9844ca8.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/aws/index.html b/docs/apisix/aws/index.html
index 488e6bd..06cdb10 100644
--- a/docs/apisix/aws/index.html
+++ b/docs/apisix/aws/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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 [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/71950930.60c64aff.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">const</span><span class="token plain"> project </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token keyword" style="font-style:italic">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(255, 203, 107)">AwsCdkTypeScriptApp</span> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">project</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token method function property-access" style="color:rgb(130, 170, 255)">synth</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span></di [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">export</span><span class="token plain"> </span><span class="token keyword" style="font-style:italic">class</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(255, 203, 107)">ApiSixStack</span><span class="token plain"> </span><span class="token keyword" style="font-style:italic">extends</span><span class="to [...]
@@ -51,8 +51,8 @@
 <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 enhancedAnchor_2LWZ" 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/ima [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/batch-processor/index.html b/docs/apisix/batch-processor/index.html
index 5a10bbf..bfa8123 100644
--- a/docs/apisix/batch-processor/index.html
+++ b/docs/apisix/batch-processor/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/4f7f961a.e27acfd2.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 When the batch_max_size is set to zero the processor will execute each entry immediately. Setting the batch max size more
 than 1 will start aggregating the entries until it reaches the max size or the timeout expires.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="configurations"></a>Configurations<a class="hash-link" href="#configurations" title="Direct link to heading">#</a></h2><p>The only mandatory parameter to create a batch processor is a function. The function will be executed when the batch reaches the max size
 or when the buffer duration exceeds.</p><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>id</td><td>optional</td><td>A unique identifier to identity the batch processor</td></tr><tr><td>batch_max_size</td><td>optional</td><td>Max size of each batch, default is 1000</td></tr><tr><td>inactive_timeout</td><td>optional</td><td>maximum age in seconds when the buffer will be flushed if inactive, default is 5s</td></tr><tr><td>buffer_duration</t [...]
@@ -39,8 +39,8 @@ argument and the batch configuration as the second parameter.</p><div class="mdx
 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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/benchmark/index.html b/docs/apisix/benchmark/index.html
index deedbf3..0536494 100644
--- a/docs/apisix/benchmark/index.html
+++ b/docs/apisix/benchmark/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/assets/js/5381c375.5059970c.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 which is the HTTP benchmarking tool.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="benchmark-test-for-reverse-proxy"></a>Benchmark Test for reverse proxy<a class="hash-link" href="#benchmark-test-for-reverse-proxy" title="Direct link to heading">#</a></h3><p>Only used APISIX as the reverse proxy server, with no logging, limit rate, or other plugins enabled,
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="qps"></a>QPS<a class="hash-link" href="#qps" 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-1.jpg" alt="benchmark-1"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="latency"></a>Latency [...]
 <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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" st [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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 enhancedAnchor_2LWZ" id="latency-1"></a>L [...]
 <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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" st [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/control-api/index.html b/docs/apisix/control-api/index.html
index 56eb856..c1d11ef 100644
--- a/docs/apisix/control-api/index.html
+++ b/docs/apisix/control-api/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/assets/js/ff8d1795.2b668ec8.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 the <code>control</code> section under <code>apisix</code> in <code>conf/config.yaml</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apisix</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span  [...]
 If a plugin adds such a control API, please refer to each plugin&#x27;s documentation for those APIs.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="plugin-independent-control-api"></a>Plugin independent Control API<a class="hash-link" href="#plugin-independent-control-api" title="Direct link to heading">#</a></h2><p>Here is the supported API:</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="get-v1schema"></a>GET /v1/sch [...]
 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 enhancedAnchor_2LWZ" 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBloc [...]
 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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/customize-nginx-configuration/index.html b/docs/apisix/customize-nginx-configuration/index.html
index 359f9c7..ae20ccc 100644
--- a/docs/apisix/customize-nginx-configuration/index.html
+++ b/docs/apisix/customize-nginx-configuration/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/0132ab2c.5c1fd9ef.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-li [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token key atrule">http_server_configuration_snippet</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">|</span><span class="token scalar string" style="color:rgb(195, 232, 141)"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token  [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/debug-function/index.html b/docs/apisix/debug-function/index.html
index 65554ec..551b08b 100644
--- a/docs/apisix/debug-function/index.html
+++ b/docs/apisix/debug-function/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/11dba9b3.ed2cdbbf.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLi [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/discovery/consul_kv/index.html b/docs/apisix/discovery/consul_kv/index.html
index 6041bd6..b55816a 100644
--- a/docs/apisix/discovery/consul_kv/index.html
+++ b/docs/apisix/discovery/consul_kv/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/e461335b.df841a90.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <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 enhancedAnchor_2LWZ" 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 enhancedAnchor_2LWZ" id="configuration-for-consul-kv"></a>Configu [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token [...]
 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 enhancedAnchor_2LWZ" 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 noreferre [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/discovery/dns/index.html b/docs/apisix/discovery/dns/index.html
index 559997a..29de0ce 100644
--- a/docs/apisix/discovery/dns/index.html
+++ b/docs/apisix/discovery/dns/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-apisix [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/72ff46d3.184255bc.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 via DNS. Therefore we can use this way to discover service directly.</p><p>First of all, we need to configure the address of DNS servers:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic" [...]
 DNS will return all records. For example, with upstream configuration:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="co [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">; name  TTL         type    priority    weight  port</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">srv     86400 IN    SRV     10          60      1980 A</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">srv     86400 IN    SRV     20          20      1981 B</span></div></div></div><button type="button" aria-label="Copy code to clipb [...]
@@ -38,8 +38,8 @@ 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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/discovery/eureka/index.html b/docs/apisix/discovery/eureka/index.html
index b59956e..c5e8071 100644
--- a/docs/apisix/discovery/eureka/index.html
+++ b/docs/apisix/discovery/eureka/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-api [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/af4112e0.7be6a64f.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/discovery/index.html b/docs/apisix/discovery/index.html
index b26e4ad..4261a6a 100644
--- a/docs/apisix/discovery/index.html
+++ b/docs/apisix/discovery/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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:docusa [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/41a31a3f.19599bd0.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">function _M.nodes(service_name)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    ... ...</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">end</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
@@ -40,8 +40,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;value&quot;</span><span class="token plain">:</span><span class="token  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></ [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
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 785eafe..bb06cda 100644
--- a/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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_t [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/27858f29.a1bb3f0d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">secret </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(130, 170, 255)">bytes</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;the shared secret key here&#x27;</span><span class="token punctuation" style= [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token builtin" style="color:rgb(130, 170, 255)">hash</span><span class="token plain"> </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> hmac</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">new</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><spa [...]
@@ -63,8 +63,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># to lowercase hexits</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:rgb(191, 199, [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:rgb(191, 199, 213)">$ME [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/getting-started/index.html b/docs/apisix/getting-started/index.html
index 50d46ae..13f599e 100644
--- a/docs/apisix/getting-started/index.html
+++ b/docs/apisix/getting-started/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/32e589c1.4621d672.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 the proxy-rewrite plugin to do it.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5 -H </span><span class="token string"  [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/grpc-proxy/index.html b/docs/apisix/grpc-proxy/index.html
index 01688bb..c89ae1d 100644
--- a/docs/apisix/grpc-proxy/index.html
+++ b/docs/apisix/grpc-proxy/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/5b9020fd.21e453d1.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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="t [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/health-check/index.html b/docs/apisix/health-check/index.html
index ee83cc3..9b02d25 100644
--- a/docs/apisix/health-check/index.html
+++ b/docs/apisix/health-check/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-do [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/8cdcb209.0c019d63.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/how-to-build/index.html b/docs/apisix/how-to-build/index.html
index fb6bc87..fb0bbb4 100644
--- a/docs/apisix/how-to-build/index.html
+++ b/docs/apisix/how-to-build/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" co [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/860d73b2.89add526.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># old luarocks not support the `lua-dir` parameter, you can remove this option</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> luarocks </span><s [...]
 or we can stop APISIX server by command <code>make stop</code>.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># init nginx config file and etcd</span><span class="token plain"></span [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># start APISIX server</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">make</span><span class="token plain"> run</span></div><div class="token-line" style="color:#bfc7d5"><span class [...]
@@ -41,8 +41,8 @@ Here is an example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockConte
 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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/https/index.html b/docs/apisix/https/index.html
index ff2aefa..2189c68 100644
--- a/docs/apisix/https/index.html
+++ b/docs/apisix/https/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-apis [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/e3d364e1.58ce1868.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">if</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(130, 170, 255)">len</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">sys</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">argv</span><span class=" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># create Router object</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token s [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># make a test</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
@@ -44,8 +44,8 @@ first certificate and private key should be still put in <code>cert</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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/install-dependencies/index.html b/docs/apisix/install-dependencies/index.html
index ed6546e..ef53a83 100644
--- a/docs/apisix/install-dependencies/index.html
+++ b/docs/apisix/install-dependencies/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content= [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/a138bbe3.2b3ef917.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># add OpenResty source</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> yum </span><span class="token function" style="color:rgb(130, 170, 255)">i [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># install OpenResty and some compilation tools</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> yum </span><span class="token function" style="col [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># install LuaRocks</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> https://raw.githubusercontent.com/apache/apisix/master/utils/linux-install-lua [...]
@@ -48,8 +48,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># start etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">brew services start etcd</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># enable TLS for etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operat [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/mtls/index.html b/docs/apisix/mtls/index.html
index 1415c61..8dbfada 100644
--- a/docs/apisix/mtls/index.html
+++ b/docs/apisix/mtls/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/cf167ebd.2142c971.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token key atrule">admin_api_mtls</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token key atrule">admin_ssl_ca_cert</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plai [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugin-develop/index.html b/docs/apisix/plugin-develop/index.html
index 876ae50..5cf7a02 100644
--- a/docs/apisix/plugin-develop/index.html
+++ b/docs/apisix/plugin-develop/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/1ed156ee.4283935b.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 needs to declare via <a href="/docs/apisix/customize-nginx-configuration">customizing Nginx configuration</a>, for example :</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># put this i [...]
 the plugin is loaded.</p><p>Note : if the dependency of some plugin needs to be initialized when Nginx start, you may need to add logic to the initialization
 method &quot;http_init&quot; in the file <strong>apisix/init.lua</strong>, and you may need to add some processing on generated part of Nginx
@@ -61,8 +61,8 @@ You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a>
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">function _M.control_api()</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    return {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">            methods = {&quot;GET&quot;},</span></div><div class="token-line" style="color:#bfc7d5"><span c [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugin-interceptors/index.html b/docs/apisix/plugin-interceptors/index.html
index 6c202f1..564f2da 100644
--- a/docs/apisix/plugin-interceptors/index.html
+++ b/docs/apisix/plugin-interceptors/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content=" [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/assets/js/5c21e7f7.4a6d7226.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 plugins to protect them. To solve the problem, we add a new concept called &#x27;interceptors&#x27;
 to run rules to protect them.</p><p>Here is an example to limit the access of <code>/apisix/prometheus/metrics</code> (a route introduced via plugin prometheus)
 to clients in <code>10.0.0.0/24</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/plugi [...]
 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/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" preserveAspectR [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/api-breaker/index.html b/docs/apisix/plugins/api-breaker/index.html
index d7f9ffd..f6e936c 100644
--- a/docs/apisix/plugins/api-breaker/index.html
+++ b/docs/apisix/plugins/api-breaker/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/579f31ee.95aeb9b1.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">. </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</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 enha [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/authz-keycloak/index.html b/docs/apisix/plugins/authz-keycloak/index.html
index 2f302e1..6f60158 100644
--- a/docs/apisix/plugins/authz-keycloak/index.html
+++ b/docs/apisix/plugins/authz-keycloak/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/746acb87.42d304f0.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 UMA compliant Identity Server. Although, it&#x27;s developed working in conjunction with Keycloak it should work with any
 OAuth/OIDC and UMA compliant identity providers as well.</p><p>For more information on Keycloak, refer to <a href="https://www.keycloak.org/docs/latest/authorization_services" target="_blank" rel="noopener noreferrer">Keycloak Authorization Docs</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th> [...]
 Keycloak&#x27;s discovery document for Authorization Services for the respective realm. This is the recommended
@@ -55,8 +55,8 @@ API workflows. Run the following docker image and visit <code>http://localhost:8
 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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/basic-auth/index.html b/docs/apisix/plugins/basic-auth/index.html
index e995fcf..ee463ca 100644
--- a/docs/apisix/plugins/basic-auth/index.html
+++ b/docs/apisix/plugins/basic-auth/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/dd639a99.7b1f28be.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/batch-requests/index.html b/docs/apisix/plugins/batch-requests/index.html
index 79fd90c..43e1ac2 100644
--- a/docs/apisix/plugins/batch-requests/index.html
+++ b/docs/apisix/plugins/batch-requests/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/b3ea87e1.9b415849.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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 enhancedAnchor_2LWZ" id="how-to-configure"></a>How To Configure<a class="hash-link" href="#how-to-configure" title="Direct  [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/adm [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/consumer-restriction/index.html b/docs/apisix/plugins/consumer-restriction/index.html
index ae30025..be7b51a 100644
--- a/docs/apisix/plugins/consumer-restriction/index.html
+++ b/docs/apisix/plugins/consumer-restriction/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content= [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/assets/js/1fb562de.416087d4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/consumers -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></d [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div>< [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/cors/index.html b/docs/apisix/plugins/cors/index.html
index 5acdb53..095fdf2 100644
--- a/docs/apisix/plugins/cors/index.html
+++ b/docs/apisix/plugins/cors/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-apisi [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/00ee19e9.728d17a9.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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 enhancedAnchor_2LWZ" 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>  [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/dubbo-proxy/index.html b/docs/apisix/plugins/dubbo-proxy/index.html
index 9d4a374..627b91b 100644
--- a/docs/apisix/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/plugins/dubbo-proxy/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/601cd3be.025ec0e6.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div> [...]
 They should provide the same result.</p><p>The returned data from upstream dubbo service must be a <code>Map&lt;String, String&gt;</code>.</p><p>If the returned data is</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rg [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">blahblah # &quot;body&quot; will be the body</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 enhancedAnchor_2LWZ" 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 d [...]
@@ -35,8 +35,8 @@ 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">plugins</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><d [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/echo/index.html b/docs/apisix/plugins/echo/index.html
index f890349..b9ddb47 100644
--- a/docs/apisix/plugins/echo/index.html
+++ b/docs/apisix/plugins/echo/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-apisi [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/c888429e.506de5d4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/error-log-logger/index.html b/docs/apisix/plugins/error-log-logger/index.html
index 3128f23..e50fbcf 100644
--- a/docs/apisix/plugins/error-log-logger/index.html
+++ b/docs/apisix/plugins/error-log-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/70fb06d4.22ad3b35.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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 s [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">plugins</span><span class="token punctuation" style="color:rgb(199, 146, [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/fault-injection/index.html b/docs/apisix/plugins/fault-injection/index.html
index d8b5512..6ce4d28 100644
--- a/docs/apisix/plugins/fault-injection/index.html
+++ b/docs/apisix/plugins/fault-injection/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/6d5713a9.aaba983d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Fault Injection</span><span class="token operator" style="color:rgb(137, 221, 255)">!</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 200 and the response body is &quot;Fault Injection! &quot; indicate that the plugin is enabled.</p></blockquote><p>2: Enable the <code>fault-injection</code> pl [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">real    0m3.034s</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">user    0m0.007s</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">sys     0m0.010s</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Example 3: Enable the <code>fault-injection</code> plu [...]
@@ -49,8 +49,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Fault Injection</span><span class="token operator" style="color:rgb(137, 221, 255)">!</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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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 enhancedAnchor_2LWZ" 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  [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/grpc-transcode/index.html b/docs/apisix/plugins/grpc-transcode/index.html
index 3043379..71e6f74 100644
--- a/docs/apisix/plugins/grpc-transcode/index.html
+++ b/docs/apisix/plugins/grpc-transcode/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/e278666a.5830f3c3.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;message&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Hello world&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</spa [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;workflowKey&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string"  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/111 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/hmac-auth/index.html b/docs/apisix/plugins/hmac-auth/index.html
index 54c2bfc..b7bd449 100644
--- a/docs/apisix/plugins/hmac-auth/index.html
+++ b/docs/apisix/plugins/hmac-auth/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/59472992.a9b43be8.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/hmac-auth-1.png"></p><p>Then add the hmac-auth plugin to the consumer page:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/hmac-auth-2.png"></p><ol start="2"><li>add a Route or add a Service, and enable the <code>hmac-auth</code> plugin</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><spa [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">secret </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(130, 170, 255)">bytes</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;my-secret-key&#x27;</span><span class="token punctuation" style="color:rgb(19 [...]
@@ -41,8 +41,8 @@ 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/http-logger/index.html b/docs/apisix/plugins/http-logger/index.html
index 9fc472b..6303296 100644
--- a/docs/apisix/plugins/http-logger/index.html
+++ b/docs/apisix/plugins/http-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/2a2f078e.a84c235a.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/index.html b/docs/apisix/plugins/index.html
index 42008bb..bbc7cca 100644
--- a/docs/apisix/plugins/index.html
+++ b/docs/apisix/plugins/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-ap [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/d0f73e13.eaf73011.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/ip-restriction/index.html b/docs/apisix/plugins/ip-restriction/index.html
index 98243a6..d31ed0d 100644
--- a/docs/apisix/plugins/ip-restriction/index.html
+++ b/docs/apisix/plugins/ip-restriction/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/746d4aad.67b51b99.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 whitelisting or blacklisting IP addresses. Single IPs, multiple IPs or ranges
 in CIDR notation like 10.10.10.0/24 can be used.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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>optional</td><td></td><td></td><td>List of IPs or CIDR ranges to whiteli [...]
 together.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Creates a route or service object, and enable plugin <code>ip-restriction</code>.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#b [...]
@@ -36,8 +36,8 @@ no need to restart the service, it will take effect immediately:</p><div class="
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/jwt-auth/index.html b/docs/apisix/plugins/jwt-auth/index.html
index c6e92e4..c4e57f0 100644
--- a/docs/apisix/plugins/jwt-auth/index.html
+++ b/docs/apisix/plugins/jwt-auth/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-a [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/cf554819.dba230ac.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><ol><li>set a consumer and config the value of the <code>jwt-auth</code> option</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/jwt-auth-2.png"></p><ol start="2"><li>add a Route or add a Service, and enable the <code>jwt-auth</code> plugin</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1c2VyLWtleSIsImV4cCI6MTU2NDA1MDgxMX0.Us8zh_4VjJXF-TmR5f8cif8mBU7SuefPlpxhH0jbPVI</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="try-request-with-token"></a>try request with token<a class="hash-lin [...]
@@ -37,8 +37,8 @@ You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a>
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/kafka-logger/index.html b/docs/apisix/plugins/kafka-logger/index.html
index da6c586..b0c0c49 100644
--- a/docs/apisix/plugins/kafka-logger/index.html
+++ b/docs/apisix/plugins/kafka-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-do [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/d9418bf0.4fa14632.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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>broker_list</td><td>object</td><td>required</td><td></td><td></td><td>An array of Kafka brokers.</td>< [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">abcdef</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></li></ul><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="info"></a>Info<a class="hash-link" href="#info" title="Direct link to heading">#</a></h2><p>The <code>message</code> will write to the buffer first.
 It will send to the kafka server when the buffer exceed the <code>batch_max_size</code>,
@@ -36,8 +36,8 @@ In case of errors, returns <code>nil</code> with a string describing the error (
 sample to take effect of this functionality.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class=" [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/key-auth/index.html b/docs/apisix/plugins/key-auth/index.html
index f278cf5..02c3616 100644
--- a/docs/apisix/plugins/key-auth/index.html
+++ b/docs/apisix/plugins/key-auth/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-a [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/assets/js/c44a0953.b5f87489.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/key-auth-1.png"></p><p>Then add key-auth plugin:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/key-auth-2.png"></p><ol start="2"><li>creates a route or service object, and enable plugin <code>key-auth</code>.</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><spa [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" st [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/limit-conn/index.html b/docs/apisix/plugins/limit-conn/index.html
index ae94f5b..9a0eefc 100644
--- a/docs/apisix/plugins/limit-conn/index.html
+++ b/docs/apisix/plugins/limit-conn/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/assets/js/042f2dd8.83aefa64.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/limit-conn-1.png"></p><p>Then add limit-conn plugin:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/limit-conn-2.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><p>The parameters of the plugin enabled above indicate that only one concurrent request is allowed. When more than one concurrent request is received, will return <code>503</code> directly.< [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token number" style="color:rgb(247, 140, 108)">20</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></ [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/limit-count/index.html b/docs/apisix/plugins/limit-count/index.html
index c2ed6ad..fdb7be6 100644
--- a/docs/apisix/plugins/limit-count/index.html
+++ b/docs/apisix/plugins/limit-count/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/b28b7341.da353a44.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/limit-count-1.png" alt="Add a router."></p><p>Then add limit-count plugin:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/limit-count-2.png" alt="Add limit-count plugin."></p><p>If you need a cluster-level precision traffic limit, then we can do it with the redis server. The rate limit of the traffic will be shared between different APISIX nodes to limit the rate of cluster traffic.</p><p>Here is the example if we use single <code>redis</code> policy:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly [...]
 which mean the total number of requests and the remaining number of requests that can be sent:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span cl [...]
@@ -35,8 +35,8 @@ which mean the total number of requests and the remaining number of requests tha
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/limit-req/index.html b/docs/apisix/plugins/limit-req/index.html
index 4dc23e7..a77c58b 100644
--- a/docs/apisix/plugins/limit-req/index.html
+++ b/docs/apisix/plugins/limit-req/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/25fbf809.d4b159c5.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">html</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(19 [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/log-rotate/index.html b/docs/apisix/plugins/log-rotate/index.html
index 19e50a3..337038f 100644
--- a/docs/apisix/plugins/log-rotate/index.html
+++ b/docs/apisix/plugins/log-rotate/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,15 +26,15 @@
 <link rel="preload" href="/assets/js/ed20433f.b3294a15.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 When the number of log files exceeds the remaining number, the old files are automatically deleted.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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>interval</td><td>integer</td><td>required</td><td>60 * 60</td [...]
 For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ ll logs</span></div><div class="token-line" style="color:#bfc7d5"><span cl [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">plugins</span><span class="token punctuation" style="color:rgb(199, 146, [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">plugin_attr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token key atrule">log-rotate</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></ [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/mqtt-proxy/index.html b/docs/apisix/plugins/mqtt-proxy/index.html
index f899fed..b827a0f 100644
--- a/docs/apisix/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/plugins/mqtt-proxy/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/2f7e5bad.b7dc368b.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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 enhancedAnchor_2LWZ" id="attributes"></a>Attributes<a class="hash-link" href="#attributes"  [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(199, 146, 234)">...</span><span class="token p [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/node-status/index.html b/docs/apisix/plugins/node-status/index.html
index 798632a..087a82f 100644
--- a/docs/apisix/plugins/node-status/index.html
+++ b/docs/apisix/plugins/node-status/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/31fa6cf3.d2bcb0a8.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><ol><li>Configure <code>node-status</code> in the plugin list of the configuration file <code>conf/config.yaml</code>,
 then you can add this plugin in any route.</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">plugins:                          # plugin list</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  -  [...]
 And this plugin will not make any difference in future requests, so usually we don&#x27;t set this plugin when creating routes.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ol><li>Request with uri <code>/apisix/status</code></li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language [...]
@@ -36,8 +36,8 @@ then you can not add this plugin in any route.</li></ol><div class="mdxCodeBlock
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -i - [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/openid-connect/index.html b/docs/apisix/plugins/openid-connect/index.html
index ffd2241..53a5825 100644
--- a/docs/apisix/plugins/openid-connect/index.html
+++ b/docs/apisix/plugins/openid-connect/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/098c8b15.115217e6.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 In this case, requests without a token or where the token is invalid are always rejected. This requires
 <code>bearer_only</code> be set to <code>true</code> and that either an introspection endpoint has been configured through
 <code>introspection_endpoint</code>, or that a public key has been configured through <code>public_key</code>. See the relevant
@@ -55,8 +55,8 @@ and further information from the identity provider on behalf of the user. The in
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</sp [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/prometheus/index.html b/docs/apisix/plugins/prometheus/index.html
index f9f297b..3db1790 100644
--- a/docs/apisix/plugins/prometheus/index.html
+++ b/docs/apisix/plugins/prometheus/index.html
@@ -16,36 +16,31 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/3ace1223.e92ed3fc.js" as="script">
+<link rel="preload" href="/assets/js/3ace1223.3a2359d9.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
-You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="how-to-enable-it"></a>How to enable it<a class="hash-link" href="#how-to-enable-it" title="Direct link to heading">#</a></h2><p><code>prometheus</code> plugin can be enable with empty table, because it doesn&#x27;t have
-any options yet.</p><p>For example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </span><span class="token strin [...]
-these metric data.</p><p>For example like this:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">scrape_configs</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div [...]
-| Name     | Description |
-| ---------| ------------- |
-| type     | Its value is fixed as <code>request</code>, which means HTTP request. |
-| service  | The <code>service_id</code> of the route matched by the request. When the route lacks service_id, the default is <code>$host</code>. |
-| 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </sp [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+By default, the address is <code>127.0.0.1:9091</code>. You can change it in the <code>conf/config.yaml</code>, for example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">plugin_attr:</span></div><div class="token-line" style="colo [...]
+you may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a> to protect it.</strong></p><p>If you still want this behavior, you can configure it like this:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">plugin_att [...]
+any options yet.</p><p>For example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </span><span class="token strin [...]
+these metric data.</p><p>For example like this:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">scrape_configs</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1   [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/d73fca9b.6881e694.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/3ace1223.e92ed3fc.js"></script>
+<script src="/assets/js/3ace1223.3a2359d9.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/proxy-cache/index.html b/docs/apisix/plugins/proxy-cache/index.html
index cb0afcf..c3450d8 100644
--- a/docs/apisix/plugins/proxy-cache/index.html
+++ b/docs/apisix/plugins/proxy-cache/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/assets/js/d3e633ff.22645c7c.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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 plugin is enabled.</p></blockquote><p>2: Verify that the data is cached, request the address above again:</p><div class="mdxCodeBlock_3lFL [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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><p>Example 2: Customize the cache_zone parameter to <code>disk_cache_two</code></p><ol><li>Specify the cache area and other information in the <code>conf/config.yaml</code> file:</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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:#bfc7d5"><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:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:rgb(137, 221, 255)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token plain"> [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/proxy-mirror/index.html b/docs/apisix/plugins/proxy-mirror/index.html
index c7c50d2..094f192 100644
--- a/docs/apisix/plugins/proxy-mirror/index.html
+++ b/docs/apisix/plugins/proxy-mirror/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-do [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/84a8b022.f8e7d4c0.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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 enhancedAnchor_2LWZ" 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div t [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/proxy-rewrite/index.html b/docs/apisix/plugins/proxy-rewrite/index.html
index 0ced278..3025e5b 100644
--- a/docs/apisix/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/plugins/proxy-rewrite/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-d [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/383740fd.abac9d6b.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/redirect/index.html b/docs/apisix/plugins/redirect/index.html
index e4d22ac..5563e33 100644
--- a/docs/apisix/plugins/redirect/index.html
+++ b/docs/apisix/plugins/redirect/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-a [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/7193710f.13d808bb.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</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 e [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H < [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/referer-restriction/index.html b/docs/apisix/plugins/referer-restriction/index.html
index 3eaec6e..7ee134a 100644
--- a/docs/apisix/plugins/referer-restriction/index.html
+++ b/docs/apisix/plugins/referer-restriction/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content=" [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/3a136aea.12cb8f8f.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 whitelisting request header Referrers.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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 [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/request-id/index.html b/docs/apisix/plugins/request-id/index.html
index 387b19e..cc94f0e 100644
--- a/docs/apisix/plugins/request-id/index.html
+++ b/docs/apisix/plugins/request-id/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/63468b30.a4153f58.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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 enhancedAnchor_2LWZ" 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< [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5 - [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/request-validation/index.html b/docs/apisix/plugins/request-validation/index.html
index dbb161d..dc06c7e 100644
--- a/docs/apisix/plugins/request-validation/index.html
+++ b/docs/apisix/plugins/request-validation/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="d [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/645be848.c082a46c.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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 enhancedAnchor_2LWZ" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><t [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/5 - [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/response-rewrite/index.html b/docs/apisix/plugins/response-rewrite/index.html
index 5de4e9f..5119814 100644
--- a/docs/apisix/plugins/response-rewrite/index.html
+++ b/docs/apisix/plugins/response-rewrite/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,15 +26,15 @@
 <link rel="preload" href="/assets/js/0484cea7.67806dfc.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 200 OK</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Date: Sat, 16 Nov 2019 09:15:12 GMT</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Transfer-Encoding: chunked</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Connection: keep-alive</span></div><div class="token-line" style="color:#bfc [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">{&quot;code&quot;:&quot;ok&quot;,&quot;message&quot;:&quot;new json body&quot;}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>This means that the <code>response rewrite</code> plugin is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="disable-plugin"></a>Disable Plugin<a cla [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </ [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/server-info/index.html b/docs/apisix/plugins/server-info/index.html
index f097115..0608fa1 100644
--- a/docs/apisix/plugins/server-info/index.html
+++ b/docs/apisix/plugins/server-info/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/ad461966.65634e02.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/serverless/index.html b/docs/apisix/plugins/serverless/index.html
index b49b274..57dd581 100644
--- a/docs/apisix/plugins/serverless/index.html
+++ b/docs/apisix/plugins/serverless/index.html
@@ -16,29 +16,29 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/1741c35c.cf39145f.js" as="script">
+<link rel="preload" href="/assets/js/1741c35c.8d17d175.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </ [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/d73fca9b.6881e694.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/1741c35c.cf39145f.js"></script>
+<script src="/assets/js/1741c35c.8d17d175.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/skywalking/index.html b/docs/apisix/plugins/skywalking/index.html
index f37516d..9d26bda 100644
--- a/docs/apisix/plugins/skywalking/index.html
+++ b/docs/apisix/plugins/skywalking/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/b5a39df0.782ee376.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 The skywalking server can supports both http and grpc protocols. The APISIX client only support http protocols.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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>sample_ratio</td><td>number</td><td>required</td> [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-1.png" alt=" ">\
 Then add skywalking plugin:\
@@ -44,8 +44,8 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="mdxCodeB
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic">/**</span></div><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"> * @author cyxinda</span></div><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"> * @create 2020-05-29 14 [...]
 update the file of agent/config/agent.config</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">agent.service_name</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">yourservername</span></ [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/sls-logger/index.html b/docs/apisix/plugins/sls-logger/index.html
index d0a24f7..68b804d 100644
--- a/docs/apisix/plugins/sls-logger/index.html
+++ b/docs/apisix/plugins/sls-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/0654f374.5a4921bb.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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/docum [...]
 </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 enhancedAnchor_2LWZ" 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollba [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/syslog/index.html b/docs/apisix/plugins/syslog/index.html
index de192b1..3c0d2b5 100644
--- a/docs/apisix/plugins/syslog/index.html
+++ b/docs/apisix/plugins/syslog/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-api [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/e7ebab94.5969a2c7.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/tcp-logger/index.html b/docs/apisix/plugins/tcp-logger/index.html
index f2eaa24..4a80ff1 100644
--- a/docs/apisix/plugins/tcp-logger/index.html
+++ b/docs/apisix/plugins/tcp-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/b436937a.4dc88aa5.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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 s [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/traffic-split/index.html b/docs/apisix/plugins/traffic-split/index.html
index 889d928..6d84bed 100644
--- a/docs/apisix/plugins/traffic-split/index.html
+++ b/docs/apisix/plugins/traffic-split/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-d [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/4842b438.9f899c55.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 service_name, discovery_type, checks, retries, desc, scheme, labels, create_time and update_time. But you can use <code>weighted_upstreams.upstream_id</code> to bind the <code>upstream</code> object to achieve their functions.</p><p>The traffic-split plugin is mainly composed of two parts: <code>match</code> and <code>weighted_upstreams</code>. <code>match</code> is a custom conditional rule, and <code>weighted_upstreams</code> is upstream configuration information. If you configure <cod [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello </span><span class="token number" style="color:rgb(247, 140, 108)">1980</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/index.html -i</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span></div><div class="token-line" style="color:#bfc7d5"><spa [...]
@@ -43,8 +43,8 @@ service_name, discovery_type, checks, retries, desc, scheme, labels, create_time
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello </span><span class="token number" style="color:rgb(247, 140, 108)">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 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello </span><span class="token number" style="color:rgb(247, 140, 108)">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 enhancedAnchor_2LWZ" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2> [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/udp-logger/index.html b/docs/apisix/plugins/udp-logger/index.html
index e335140..b2ae181 100644
--- a/docs/apisix/plugins/udp-logger/index.html
+++ b/docs/apisix/plugins/udp-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/84ebf226.51f0808a.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" 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 s [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/uri-blocker/index.html b/docs/apisix/plugins/uri-blocker/index.html
index 02cd62f..d563bb8 100644
--- a/docs/apisix/plugins/uri-blocker/index.html
+++ b/docs/apisix/plugins/uri-blocker/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/17d3fec9.f8e96dba.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">. </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</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 enha [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/wolf-rbac/index.html b/docs/apisix/plugins/wolf-rbac/index.html
index 4a83620..d6eb3c6 100644
--- a/docs/apisix/plugins/wolf-rbac/index.html
+++ b/docs/apisix/plugins/wolf-rbac/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/6e5db0c1.cb3dd894.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target="_blank" rel="noopener noreferrer">wolf</a>. For more information about <code>wolf</code>, please refer to <a href="https://github.com/iGeeky/wolf" target="_blank" rel="noopener noreferrer">wolf documentation</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><t [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/wolf-rbac-1.png"></p><p>Then add the wolf-rbac plugin to the consumer page:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/wolf-rbac-2.png"></p><p>Notes: The <code>appid</code> filled in above needs to already exist in the wolf system.</p><ol><li>Add a <code>Route</code> or <code>Service</code> and enable the wolf-rbac plugin.</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style [...]
@@ -51,8 +51,8 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </ [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/plugins/zipkin/index.html b/docs/apisix/plugins/zipkin/index.html
index 8593c6c..2768df1 100644
--- a/docs/apisix/plugins/zipkin/index.html
+++ b/docs/apisix/plugins/zipkin/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-api [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/ab6cb272.ed74c0ac.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    thisip, _ := GetLocalIP()</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
@@ -37,8 +37,8 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    r.Use(func(c *gin.Context) {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></div><div class="token-line" style="color:#bfc7d5"><s [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/profile/index.html b/docs/apisix/profile/index.html
index 4cab37b..f2b3429 100644
--- a/docs/apisix/profile/index.html
+++ b/docs/apisix/profile/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/0201ab1c.c2c5a651.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 operating environments such as development environment and production environment. Certain configurations of these applications
 will definitely be different, such as the address of the configuration center.</p><p>If the configuration of all environments is placed in the same file, it is very difficult to manage. After receiving new
 requirements, we need to change the parameters in the configuration file to the development environment when developing the
@@ -35,8 +35,8 @@ development environment. You have to change it back. It&#x27;s very easy to make
 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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/router-radixtree/index.html b/docs/apisix/router-radixtree/index.html
index 2596a74..67d432b 100644
--- a/docs/apisix/router-radixtree/index.html
+++ b/docs/apisix/router-radixtree/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/d73fca9b.6881e694.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/2f1ee7b9.e2bd5fe6.js" as="script">
+<link rel="preload" href="/assets/js/2f1ee7b9.c49c58bc.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
-<code>/blog/bar/b</code>, <code>/blog/bar/c/d/e</code>, <code>/blog/bar</code> etc.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="3-match-priority"></a>3. Match priority<a class="hash-link" href="#3-match-priority" title="Direct link to heading">#</a></h4><p>Full match -&gt; Deep prefix matching.</p><p>Here are the rules:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBloc [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<code>/blog/bar/b</code>, <code>/blog/bar/c/d/e</code>, <code>/blog/bar</code> etc.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="3-match-priority"></a>3. Match priority<a class="hash-link" href="#3-match-priority" title="Direct link to heading">#</a></h4><p>Full match -&gt; Deep prefix matching.</p><p>Here are the rules:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBloc [...]
 here is an simple example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span [...]
 data from the request body. This limitation is configured via:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">graphql</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></ [...]
 </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/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/d73fca9b.6881e694.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/2f1ee7b9.e2bd5fe6.js"></script>
+<script src="/assets/js/2f1ee7b9.c49c58bc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/stand-alone/index.html b/docs/apisix/stand-alone/index.html
index cf91585..a471c2e 100644
--- a/docs/apisix/stand-alone/index.html
+++ b/docs/apisix/stand-alone/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/13dafbb5.19f0a315.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 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="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">routes</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</sp [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/apisix/stream-proxy/index.html b/docs/apisix/stream-proxy/index.html
index 6e87f3c..1afef2c 100644
--- a/docs/apisix/stream-proxy/index.html
+++ b/docs/apisix/stream-proxy/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-do [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/65962b6f.21d1e6e7.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 By default, no any stream proxy is enabled.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apisix</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="toke [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/FAQ/index.html b/docs/dashboard/FAQ/index.html
index fb76605..815ffdb 100644
--- a/docs/dashboard/FAQ/index.html
+++ b/docs/dashboard/FAQ/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-apisix [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/3316b9c0.56976f80.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 Refer to the beginning in:
 <a href="https://apisix.apache.org/docs/apisix/control-api" target="_blank" rel="noopener noreferrer">https://apisix.apache.org/docs/apisix/control-api</a></p></li><li><p>Execute the following commands to export jsonchema on your APISIX server (if it is configured for non-local access, it does not need to be executed on your APISIX server, and the access IP and port should be modified accordingly)</p></li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabinde [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/I18N_USER_GUIDE/index.html b/docs/dashboard/I18N_USER_GUIDE/index.html
index 55ed66f..2a5bb7a 100644
--- a/docs/dashboard/I18N_USER_GUIDE/index.html
+++ b/docs/dashboard/I18N_USER_GUIDE/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">i18n User Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/679cfa79.e432a6e4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/IGNORE_DOC/index.html b/docs/dashboard/IGNORE_DOC/index.html
index 926de7c..a227b32 100644
--- a/docs/dashboard/IGNORE_DOC/index.html
+++ b/docs/dashboard/IGNORE_DOC/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/3393d167.51b64f69.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html b/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html
index 58db0c6..d2e3880 100644
--- a/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html
+++ b/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Import OpenAPI Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content= [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/95244615.aa8e85ff.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">      </span><span class="token key atrule">requestBody</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        </span><span class="token key atrule">content</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></ [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/USER_GUIDE/index.html b/docs/dashboard/USER_GUIDE/index.html
index bd0f791..fcc22ba 100644
--- a/docs/dashboard/USER_GUIDE/index.html
+++ b/docs/dashboard/USER_GUIDE/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">User Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/9d971112.fa647595.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/api/api/index.html b/docs/dashboard/api/api/index.html
index 16e5d7b..18444b4 100644
--- a/docs/dashboard/api/api/index.html
+++ b/docs/dashboard/api/api/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 doc of Manager API. | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" conte [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/034277d8.e1db1246.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/back-end-tests/index.html b/docs/dashboard/back-end-tests/index.html
index f6b2c02..b1d2e0d 100644
--- a/docs/dashboard/back-end-tests/index.html
+++ b/docs/dashboard/back-end-tests/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Backend Tests | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs-d [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/da9aeeeb.da5379af.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  # GitHub E2E test create route example</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">     &quot;uris&quot;: [&quot;/test-test&quot;],</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">     &quot;name&quot;: &quot;route_all&quot;,</span></div><div [...]
 (Only if you have altered/added any core functionalities in <code>manager-api</code>, for simply adding/deleting a test case/file, rebuilding is not required).</p></li></ol><p>** For ease of access and to avoid the repetitive hassle for setting up the required configurations, we have provided a <code>setup.sh</code> script
 which is inside <code>api/test/docker</code> directory. You can directly run, delete and build services along with update and revert <code>conf.yaml</code> through the script.
@@ -36,8 +36,8 @@ high expressiveness which makes reading and writing tests a pleasure.</p><ul><li
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">         table</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token function" style="color:rgb(130, 170, 255)">DescribeTable</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;&lt;logical group 2&gt;&quot;</span><span class="token punctuation" style="color:rgb(199, 14 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">      </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></li><li><p>FYI, internally ginkgo reduces each table entries to <code>It</code> block and run all the <code>It</code> bloc [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/deploy-with-docker/index.html b/docs/dashboard/deploy-with-docker/index.html
index 5a38179..3631ec5 100644
--- a/docs/dashboard/deploy-with-docker/index.html
+++ b/docs/dashboard/deploy-with-docker/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy with Docker | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="d [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/81f18807.8e898f3b.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># For users in mainland China, the `ENABLE_PROXY` parameter can be provided to speed up module downloads.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ docker build -t apisix-dashboard:$tag . --build-arg ENABLE_PROXY=true</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># If you want to use the latest codes to build, you can specify the `APISIX_DASHBOARD_VERSION` parameter to `master`.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># This parameter can also be specified as branch name of a specific version, such as `v2.1.1`.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ docker build -t apisix-d [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/deploy-with-rpm/index.html b/docs/dashboard/deploy-with-rpm/index.html
index f737b63..1e46f44 100644
--- a/docs/dashboard/deploy-with-rpm/index.html
+++ b/docs/dashboard/deploy-with-rpm/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy with RPM | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/4f34f66f.df52ebeb.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/deploy/index.html b/docs/dashboard/deploy/index.html
index 1408b48..2f1cbec 100644
--- a/docs/dashboard/deploy/index.html
+++ b/docs/dashboard/deploy/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy with Source Codes | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" cont [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/assets/js/bd3a6b69.ae013042.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ ./manager-api</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or running in background</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ nohup ./manager-api &amp;</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="4"><li><p>Without changing the configuration, visit <code>http://127.0.0.1:9000</code> to use the dashboard with GUI, where th [...]
 run:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ ./manager-api stop</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= [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ mv ./output/ /usr/local/apisix-dashboard/</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ manager-api -p /usr/local/apisix-dashboard/</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-dashboard/edit/master/docs/en/latest/deploy.md" target="_blank" rel="noreferrer noopener"><svg fill="currentC [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/develop/index.html b/docs/dashboard/develop/index.html
index cc06290..56909f9 100644
--- a/docs/dashboard/develop/index.html
+++ b/docs/dashboard/develop/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Development Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="do [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/84d2a1f2.2df2b1dc.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ yarn start</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="4"><li>If writing an front end E2E test, please refer to the <a href="/docs/dashboard/front-end-e2e">Front End E2E Writing Guide</a></li></ol></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apa [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/dashboard/front-end-e2e/index.html b/docs/dashboard/front-end-e2e/index.html
index 03645a8..b18b084 100644
--- a/docs/dashboard/front-end-e2e/index.html
+++ b/docs/dashboard/front-end-e2e/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Frontend E2E | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs-do [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/4b0b9689.18003f85.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/general/2fa/index.html b/docs/general/2fa/index.html
index 9ee046c..647634c 100644
--- a/docs/general/2fa/index.html
+++ b/docs/general/2fa/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">2FA | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs-default-cur [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.020ee085.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/3dc9f306.1c730a17.js" as="script">
+<link rel="preload" href="/assets/js/3dc9f306.aa485ddb.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/935f2afb.020ee085.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/3dc9f306.1c730a17.js"></script>
+<script src="/assets/js/3dc9f306.aa485ddb.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/committer-guide/index.html b/docs/general/committer-guide/index.html
index 3ff9832..937a3d3 100644
--- a/docs/general/committer-guide/index.html
+++ b/docs/general/committer-guide/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Committer Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.020ee085.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/8e784bf3.ad820a98.js" as="script">
+<link rel="preload" href="/assets/js/8e784bf3.7e177f7f.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/935f2afb.020ee085.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/8e784bf3.ad820a98.js"></script>
+<script src="/assets/js/8e784bf3.7e177f7f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/contributor-guide/index.html b/docs/general/contributor-guide/index.html
index 1be725d..d3ccf24 100644
--- a/docs/general/contributor-guide/index.html
+++ b/docs/general/contributor-guide/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributor Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="do [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.020ee085.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/adbb350b.6f966257.js" as="script">
+<link rel="preload" href="/assets/js/adbb350b.a35e8398.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/935f2afb.020ee085.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/adbb350b.6f966257.js"></script>
+<script src="/assets/js/adbb350b.a35e8398.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/integrate-with-project-docs/index.html b/docs/general/integrate-with-project-docs/index.html
index cbc3624..4a06777 100644
--- a/docs/general/integrate-with-project-docs/index.html
+++ b/docs/general/integrate-with-project-docs/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integrate with Project documentations | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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:docusau [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.020ee085.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/19945770.59169728.js" as="script">
+<link rel="preload" href="/assets/js/19945770.faed2bad.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/935f2afb.020ee085.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/19945770.59169728.js"></script>
+<script src="/assets/js/19945770.faed2bad.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/release-guide/index.html b/docs/general/release-guide/index.html
index bfccd1f..fb843a9 100644
--- a/docs/general/release-guide/index.html
+++ b/docs/general/release-guide/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs-d [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.020ee085.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/7af3052c.2c5882a2.js" as="script">
+<link rel="preload" href="/assets/js/7af3052c.29aae170.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Please select what kind of key you want:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">(1) RSA and RSA (default)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">(2) DSA and Elgamal</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">(3) DSA (sign only)</span></div><div class="token-line" style="color [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">GnuPG needs to construct a user ID to identify your key.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Real name: ${Enter your username}</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Email address: ${Enter your email address}</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Comment: ${Enter comments}</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">You selected this USER-ID:</span></div><div class=" [...]
@@ -73,15 +73,15 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">The vote will be open for at least 72 hours or until necessary number of</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">votes are reached.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Please vote accordingly:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] +1 approve</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] +0 no opinion</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] -1 disapprove with the reason</span></div><div class="token-line" style="color:#bfc7d5"><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><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="send-vote-result-thread-to-the-dev-mailing-list"></a>Send VOTE RESULT thread to the dev mailing list<a class="hash-link" href="#send-vote-result-thread-to-the-dev-mailing-list" title="Direct link to heading">#</a></h3><p>Click <a href="https://lists.apache.org/thread.html/r9153da7 [...]
+</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 enhancedAnchor_2LWZ" id="send-vote-result-thread-to-the-dev-mailing-list"></a>Send VOTE RESULT thread to the dev mailing list<a class="hash-link" href="#send-vote-result-thread-to-the-dev-mailing-list" title="Direct link to heading">#</a></h3><p>Click <a href="https://lists.apache.org/thread.html/r9153da7 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/935f2afb.020ee085.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/7af3052c.2c5882a2.js"></script>
+<script src="/assets/js/7af3052c.29aae170.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/security/index.html b/docs/general/security/index.html
index 7e9ea8b..c510745 100644
--- a/docs/general/security/index.html
+++ b/docs/general/security/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Security | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs-defaul [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.020ee085.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/66fbb9c2.db27b363.js" as="script">
+<link rel="preload" href="/assets/js/66fbb9c2.82366230.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/935f2afb.020ee085.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/66fbb9c2.db27b363.js"></script>
+<script src="/assets/js/66fbb9c2.82366230.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/general/subscribe-guide/index.html b/docs/general/subscribe-guide/index.html
index 654b361..ba96aac 100644
--- a/docs/general/subscribe-guide/index.html
+++ b/docs/general/subscribe-guide/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Subscribe Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.020ee085.js" as="script">
 <link rel="preload" href="/assets/js/17896441.3d28a8f3.js" as="script">
-<link rel="preload" href="/assets/js/50facf8e.abf7ff30.js" as="script">
+<link rel="preload" href="/assets/js/50facf8e.d5f2ed25.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
 <script src="/assets/js/935f2afb.020ee085.js"></script>
 <script src="/assets/js/17896441.3d28a8f3.js"></script>
-<script src="/assets/js/50facf8e.abf7ff30.js"></script>
+<script src="/assets/js/50facf8e.d5f2ed25.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 6f28ed1..90137f4 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -16,19 +16,19 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs"><meta data-react-helmet="true" name="docsearch:language" content="en">< [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/3.485a7a73.js" as="script">
 <link rel="preload" href="/assets/js/25b7c3f2.46f93376.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/3.485a7a73.js"></script>
diff --git a/docs/ingress-controller/FAQ/index.html b/docs/ingress-controller/FAQ/index.html
index 0170334..71eacf6 100644
--- a/docs/ingress-controller/FAQ/index.html
+++ b/docs/ingress-controller/FAQ/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs-apisix [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/9dc47d34.749d4cd8.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/IGNORE_DOC/index.html b/docs/ingress-controller/IGNORE_DOC/index.html
index f6080f0..0c6c91a 100644
--- a/docs/ingress-controller/IGNORE_DOC/index.html
+++ b/docs/ingress-controller/IGNORE_DOC/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs-docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/d18db9b0.3687bb7f.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/concepts/apisix_route/index.html b/docs/ingress-controller/concepts/apisix_route/index.html
index 3b695a9..bac86a2 100644
--- a/docs/ingress-controller/concepts/apisix_route/index.html
+++ b/docs/ingress-controller/concepts/apisix_route/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApisixRoute | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs-doc [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/9da58367.f98b0f54.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 expected backend, it exposes many features supported by Apache APISIX.
 Compared to <a href="https://kubernetes.io/docs/concepts/services-networking/ingress/" target="_blank" rel="noopener noreferrer">Ingress</a>,
 functions are implemented in a more native way, with stronger semantics.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="path-based-route-rules"></a>Path based route rules<a class="hash-link" href="#path-based-route-rules" title="Direct link to heading">#</a></h2><p>URI path are always used to split traffic, for instance, requests with host <code>foo.com</code> and
@@ -52,8 +52,8 @@ will be proxied to serivce <code>bar</code>.</p><h2><a aria-hidden="true" tabind
 in <code>ApisixRoute</code>. All configuration items are named same to the one in APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span [...]
 which host is <code>local.httpbin.org</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix-ingress-controller/edit/master/docs/en/latest/concepts/apisix_route.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- [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/concepts/apisix_tls/index.html b/docs/ingress-controller/concepts/apisix_tls/index.html
index 6e8cd53..d87562a 100644
--- a/docs/ingress-controller/concepts/apisix_tls/index.html
+++ b/docs/ingress-controller/concepts/apisix_tls/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApisixTls | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs-docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/f4620fb6.b37d7414.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 generates an <a href="http://apisix.apache.org/docs/apisix/admin-api#ssl" target="_blank" rel="noopener noreferrer">APISIX SSL</a> object. It asks the
 Secret must have two keys <code>cert</code> and <code>key</code>, which used to store the certificate and private key in
 PEM format respectively.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">apiVersion: apisix.apache.org/v1</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">kind: ApisixTls</span></div><div class="token-l [...]
@@ -35,8 +35,8 @@ correct certificate, what&#x27;s more, it also should be matched with the <a hre
 extension in TLS, or the TLS handshaking might fail.</p><p>The apisix-ingress-controller will watch Secret resources that referred by ApisixTls objects, once a
 Secret changed, apisix-ingress-controller will re translate all referred ApisixTls objects, converting them to APISIX SSL resources ultimately.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix-ingress-controller/edit/master/docs/en/latest/concepts/apisix_tls.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0  [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/concepts/apisix_upstream/index.html b/docs/ingress-controller/concepts/apisix_upstream/index.html
index 072ca4b..36385b7 100644
--- a/docs/ingress-controller/concepts/apisix_upstream/index.html
+++ b/docs/ingress-controller/concepts/apisix_upstream/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApisixUpstream | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="docs- [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/assets/js/b0e5e822.7ea5169d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 load balancing, health check, retry, timeout parameters and etc.</p><p>Resort to <code>ApisixUpstream</code> and the Kubernetes Service, apisix ingress controller will generates the APISIX Upstream(s).
 To learn more, please check the <a href="https://github.com/apache/apisix/blob/master/doc/architecture-design.md#upstream" target="_blank" rel="noopener noreferrer">Apache APISIX architecture-design docs</a>.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="configuring-load-balancer"></a>Configuring Load Balancer<a class="hash-link" href="#configuring-load-balancer" title="Direct link to heading">#</a></h3><p>A proper load balancing algorithm is required  [...]
 like the passive feedback capability.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> apisix.apache.org/v1</span></d [...]
@@ -44,8 +44,8 @@ In that case, you can create configurations for individual port.</p><div class="
 In the meanwhile, the ApisixUpstream <code>foo</code> sets <code>http</code> scheme for port <code>7000</code> and <code>grpc</code> scheme for <code>7001</code>
 (all ports are the service port). But both ports shares the load balancer configuration.</p><p><code>PortLevelSettings</code> is not mandatory if the service only exposes one port but is useful when multiple ports are defined.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix-ingress-controller/edit/master/docs/en/latest/concepts/apisix_upstream.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/contribute/index.html b/docs/ingress-controller/contribute/index.html
index c7e72a2..f3cbb96 100644
--- a/docs/ingress-controller/contribute/index.html
+++ b/docs/ingress-controller/contribute/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributing to apisix-ingress-controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,15 +26,15 @@
 <link rel="preload" href="/assets/js/9c26c05d.cf890f5b.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 pleasant first experience for you, and that you will return to continue
 contributing.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="how-to-contribute"></a>How to contribute<a class="hash-link" href="#how-to-contribute" title="Direct link to heading">#</a></h2><p>Most of the contributions that we receive are code contributions, but you can
 also contribute to the documentation or simply report solid bugs
 for us to fix.</p><p> For new contributors, please take a look at issues with a tag called <a href="https://github.com/apache/apisix-ingress-controller/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22" target="_blank" rel="noopener noreferrer">Good first issue</a> or <a href="https://github.com/apache/apisix-ingress-controller/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22" target="_blank" rel="noopener noreferrer">Help wanted</a>.</p><h2><a aria-hidden="true" tabind [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/deployments/ack/index.html b/docs/ingress-controller/deployments/ack/index.html
index eae6073..bd18e9d 100644
--- a/docs/ingress-controller/deployments/ack/index.html
+++ b/docs/ingress-controller/deployments/ack/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress APISIX on ACK | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/6967878f.896e5b40.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/deployments/aws/index.html b/docs/ingress-controller/deployments/aws/index.html
index e7b0e70..e107b9d 100644
--- a/docs/ingress-controller/deployments/aws/index.html
+++ b/docs/ingress-controller/deployments/aws/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress APISIX on Amazon EKS | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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:docusaur [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/4e55a385.7897ddb6.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/deployments/azure/index.html b/docs/ingress-controller/deployments/azure/index.html
index 5de93a5..2f6342b 100644
--- a/docs/ingress-controller/deployments/azure/index.html
+++ b/docs/ingress-controller/deployments/azure/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress APISIX on Azure AKS | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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:docusauru [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/f6cd6006.409a5a8c.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/deployments/gke/index.html b/docs/ingress-controller/deployments/gke/index.html
index 3325e40..ebaed03 100644
--- a/docs/ingress-controller/deployments/gke/index.html
+++ b/docs/ingress-controller/deployments/gke/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress APISIX on Google Cloud GKE | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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:do [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/43aea6af.e4302afb.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/deployments/k3s-rke/index.html b/docs/ingress-controller/deployments/k3s-rke/index.html
index d8606cb..0abecd7 100644
--- a/docs/ingress-controller/deployments/k3s-rke/index.html
+++ b/docs/ingress-controller/deployments/k3s-rke/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress APISIX on K3S and Rancher RKE | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/6f365930.0e080615.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 It&#x27;s a good choice to use Ingress APISIX as the north-south API gateway in K3S.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="prerequisites"></a>Prerequisites<a class="hash-link" href="#prerequisites" title="Direct link to heading">#</a></h2><ul><li>Install <a href="https://rancher.com/docs/k3s/latest/en/installation/" target="_blank" rel="noopener noreferrer">K3S</a> or <a href="https://rancher.com/docs/rke/latest/en/installation/" target="_blank [...]
 If you are using K3S and you want to expose a <code>LoadBalancer</code> service, try to use <a href="https://github.com/k3s-io/klipper-lb" target="_blank" rel="noopener noreferrer">Klipper</a>.</p><p>Another thing should be concerned that the <code>allow.ipList</code> field should be customized according to the Pod CIDR settings(see <a href="https://rancher.com/docs/k3s/latest/en/installation/install-options/server-config/#networking" target="_blank" rel="noopener noreferrer">K3S</a> or  [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/deployments/kubesphere/index.html b/docs/ingress-controller/deployments/kubesphere/index.html
index 89f9002..1ad4fcd 100644
--- a/docs/ingress-controller/deployments/kubesphere/index.html
+++ b/docs/ingress-controller/deployments/kubesphere/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress APISIX on KubeSphere | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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:docusaur [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/b58143c5.09152338.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 If you want to expose a <code>LoadBalancer</code> service, try to use <a href="https://github.com/kubesphere/porter" target="_blank" rel="noopener noreferrer">Porter</a>.</p><p>Another thing that should be concerned that the <code>allow.ipList</code> field should be customized according to the Pod CIDR settings, so that the apisix-ingress-controller instances can access the APISIX instances (resources pushing).</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/deployments/minikube/index.html b/docs/ingress-controller/deployments/minikube/index.html
index 22c56b2..606d761 100644
--- a/docs/ingress-controller/deployments/minikube/index.html
+++ b/docs/ingress-controller/deployments/minikube/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress APISIX on Minikube | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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 [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/93013804.a93a3488.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/deployments/tke/index.html b/docs/ingress-controller/deployments/tke/index.html
index f4c7b45..af234e3 100644
--- a/docs/ingress-controller/deployments/tke/index.html
+++ b/docs/ingress-controller/deployments/tke/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress APISIX on Tencent TKE | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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:docusau [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/64288df6.61c35531.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/design/index.html b/docs/ingress-controller/design/index.html
index 88a920d..f04b87b 100644
--- a/docs/ingress-controller/design/index.html
+++ b/docs/ingress-controller/design/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Ingress Controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content="d [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/e60dd3b0.46ded9ba.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/development/index.html b/docs/ingress-controller/development/index.html
index 003b056..1733052 100644
--- a/docs/ingress-controller/development/index.html
+++ b/docs/ingress-controller/development/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Developing for Apache APISIX Ingress Controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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="docsear [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/8e27d69a.03e1ea99.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/getting-started/index.html b/docs/ingress-controller/getting-started/index.html
index 49ea57d..131a431 100644
--- a/docs/ingress-controller/getting-started/index.html
+++ b/docs/ingress-controller/getting-started/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><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" content="docs [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/assets/js/f45d06d8.def398f4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 All these resources are watched and converted to corresponding resources in Apache APISIX.</p><p>Service Discovery are also supported through <a href="https://kubernetes.io/docs/concepts/services-networking/service/" target="_blank" rel="noopener noreferrer">Kubernetes Service</a>,
 and will be reflected to nodes in APISIX Upstream.</p><p><img src="https://raw.githubusercontent.com/apache/apisix-ingress-controller/master/docs/assets/images/scene.png" alt="scene"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="features"></a>Features<a class="hash-link" href="#features" title="Direct link to heading">#</a></h2><ul><li>Declarative configuration</li><li>Full dynamic capabilities to delivery configurations.</li><li>Native Kubernetes Ing [...]
 But before you start, please read <a href="/docs/ingress-controller/contribute">How to Contribute</a> and <a href="/docs/ingress-controller/development">How to Develop</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix-ingress-controller/edit/master/docs/en/latest/getting-started.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid mee [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/practices/index/index.html b/docs/ingress-controller/practices/index/index.html
index 8e28adb..a6b42e9 100644
--- a/docs/ingress-controller/practices/index/index.html
+++ b/docs/ingress-controller/practices/index/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Ingress APISIX Use Examples | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" c [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/fd72aa65.8da8d664.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/practices/proxy-the-httpbin-service-with-ingress/index.html b/docs/ingress-controller/practices/proxy-the-httpbin-service-with-ingress/index.html
index 3dc0edf..a18dac3 100644
--- a/docs/ingress-controller/practices/proxy-the-httpbin-service-with-ingress/index.html
+++ b/docs/ingress-controller/practices/proxy-the-httpbin-service-with-ingress/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 the httpbin service with Ingress | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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:docusa [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/assets/js/ca5ff64e.e31a568b.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Use ingress.networking.k8s.io/v1beta1 if your Kubernetes cluster</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># version is older than v1.19.0.</span><span class= [...]
 Now try to create it.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">kubectl apply -f httpbin-ingress.yaml</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></di [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/practices/proxy-the-httpbin-service/index.html b/docs/ingress-controller/practices/proxy-the-httpbin-service/index.html
index 55eda55..65cf2ff 100644
--- a/docs/ingress-controller/practices/proxy-the-httpbin-service/index.html
+++ b/docs/ingress-controller/practices/proxy-the-httpbin-service/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 the httpbin service | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" con [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/assets/js/9969a994.7b060153.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 Now try to create it.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">kubectl apply -f httpbin-route.yaml</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div> [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/references/apisix_route_v1/index.html b/docs/ingress-controller/references/apisix_route_v1/index.html
index e576d86..b15865b 100644
--- a/docs/ingress-controller/references/apisix_route_v1/index.html
+++ b/docs/ingress-controller/references/apisix_route_v1/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApisixRoute/v1 (Deprecated) Reference | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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:docusau [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/c9f6a9fb.a88aed01.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/references/apisix_route_v2alpha1/index.html b/docs/ingress-controller/references/apisix_route_v2alpha1/index.html
index 9556659..9d0f72d 100644
--- a/docs/ingress-controller/references/apisix_route_v2alpha1/index.html
+++ b/docs/ingress-controller/references/apisix_route_v2alpha1/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApisixRoute/v2alpha1 Reference | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/d2247e49.392c93e6.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/references/apisix_tls/index.html b/docs/ingress-controller/references/apisix_tls/index.html
index 0da0f15..404ee7c 100644
--- a/docs/ingress-controller/references/apisix_tls/index.html
+++ b/docs/ingress-controller/references/apisix_tls/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApisixTls Reference | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" content=" [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/e75fbec5.d2b4fd6b.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/docs/ingress-controller/references/apisix_upstream/index.html b/docs/ingress-controller/references/apisix_upstream/index.html
index a1e2e8f..80cd162 100644
--- a/docs/ingress-controller/references/apisix_upstream/index.html
+++ b/docs/ingress-controller/references/apisix_upstream/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApisixUpstream Reference | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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" cont [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.e0d24c13.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/f8217c69.5dd9b071.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/1be78505.e0d24c13.js"></script>
diff --git a/downloads/ProjectCard/index.html b/downloads/ProjectCard/index.html
index ec76610..cd6a047 100644
--- a/downloads/ProjectCard/index.html
+++ b/downloads/ProjectCard/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true"></title><link rel="stylesheet" href="/assets/css/styles.1bb2ec78.css">
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/3.485a7a73.js" as="script">
 <link rel="preload" href="/assets/js/98c69322.5c3a5acb.js" as="script">
 <link rel="preload" href="/assets/js/47f8a22a.3b6d1ee3.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?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 class="ProjectCard__Card-sc-12v8c3p-0 fUOFUE"><div class="ProjectCard__LeftSide-sc-12v8c3p-1 ewHYSJ"><a href="https://github.com/undefined" target="_blank" class="ProjectCard__Title-sc-12v8c3p-2 eXqIcO"><span class="ProjectCard__ShapeBeforeTitle-sc-12v8c3p-4 kjTfns"><svg aria-hidden="true" data-prefix="fas" data-icon="hexagon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" class="hexagon_svg__svg-inline--fa hexagon_svg__fa-hexagon hexagon_svg__fa-w-18 hexagon_svg__fa-7x">< [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/3.485a7a73.js"></script>
 <script src="/assets/js/98c69322.5c3a5acb.js"></script>
 <script src="/assets/js/47f8a22a.3b6d1ee3.js"></script>
diff --git a/downloads/index.html b/downloads/index.html
index 5d58d53..47a3cad 100644
--- a/downloads/index.html
+++ b/downloads/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//downloads/"><meta data-react-helmet="true" name="docsearch:language" content= [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/3.485a7a73.js" as="script">
@@ -25,15 +25,15 @@
 <link rel="preload" href="/assets/js/47f8a22a.3b6d1ee3.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">pgpk -a KEYS</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">pgp -ka KEYS</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div><br>To verify the binaries/sources you can download the relevant asc files for it from main distribution directory and follow the below guide.<div class="codeBlockContent_hGly"><di [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">pgpv apache-apisix-********.asc</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">pgp apache-apisix-********.asc</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></div></div><footer class="footer"><div class="container"><div class="row footer__links"><div class="col footer__col"><h4 class="footer__title">ASF</h [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/3.485a7a73.js"></script>
diff --git a/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html b/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html
index d76115e..6d03a72 100644
--- a/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html
+++ b/events/2020/12/23/release-apache-apisix-ingress-controller-0.1.0/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress Controller 0.1.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.1.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improve basic features, bugfix and adds test cases."><meta  [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/12e5767f.68e31f2d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html b/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html
index d8aa937..70f9cca 100644
--- a/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html
+++ b/events/2021/01/19/release-apache-apisix-ingress-controller-0.2.0/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress Controller 0.2.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.2.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improve basic features, bugfix and adds test cases."><meta  [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/4eed9ed2.cacfe61d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/events/2021/02/09/release-apache-apisix-2.3/index.html b/events/2021/02/09/release-apache-apisix-2.3/index.html
index 7fb96a3..ec05c6a 100644
--- a/events/2021/02/09/release-apache-apisix-2.3/index.html
+++ b/events/2021/02/09/release-apache-apisix-2.3/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.3 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.3 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Change"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" p [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/41b4926b.312a1d00.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html b/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html
index 68fcebb..c6d29aa 100644
--- a/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html
+++ b/events/2021/02/11/release-apache-apisix-ingress-controller-0.3.0/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress Controller 0.3.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.3.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improves the program robustness and adds some features."><m [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/1be5d2e8.d21def58.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html b/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html
index 290cefb..26b8fe1 100644
--- a/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html
+++ b/events/2021/02/12/release-apache-apisix-dashboard-2.4/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Dashboard 2.4 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Dashboard 2.4 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improves basic features, bugfix and adds test cases."><meta data-react-helmet="tr [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/d4de91ec.3b5fc76e.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/events/2021/03/05/release-apache-apisix-2.4/index.html b/events/2021/03/05/release-apache-apisix-2.4/index.html
index 6c0a4a0..ccc75d8 100644
--- a/events/2021/03/05/release-apache-apisix-2.4/index.html
+++ b/events/2021/03/05/release-apache-apisix-2.4/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.4 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.4 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Change"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" p [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/f7b3f6db.067b76bb.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/events/2021/03/12/release-apache-apisix-ingress-controller-0.4.0/index.html b/events/2021/03/12/release-apache-apisix-ingress-controller-0.4.0/index.html
index 233285c..828c6d2 100644
--- a/events/2021/03/12/release-apache-apisix-ingress-controller-0.4.0/index.html
+++ b/events/2021/03/12/release-apache-apisix-ingress-controller-0.4.0/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Ingress Controller 0.4.0 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.4.0 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improves the program robustness and adds some features."><m [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/95e0e949.bca7d023.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/events/2021/04/05/release-apache-apisix-2.5/index.html b/events/2021/04/05/release-apache-apisix-2.5/index.html
index 25fab2c..d230426 100644
--- a/events/2021/04/05/release-apache-apisix-2.5/index.html
+++ b/events/2021/04/05/release-apache-apisix-2.5/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.5 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.5 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="Change"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" p [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/assets/js/264a218f.ac60f4a3.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/events/index.html b/events/index.html
index 000fdc6..6e304bf 100644
--- a/events/index.html
+++ b/events/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apa [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/4.bed3a1bc.js" as="script">
@@ -34,11 +34,11 @@
 <link rel="preload" href="/assets/js/574dc000.d60c2356.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/4.bed3a1bc.js"></script>
diff --git a/help/index.html b/help/index.html
index 7a03b13..9aec8a6 100644
--- a/help/index.html
+++ b/help/index.html
@@ -16,19 +16,19 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//help"><meta data-react-helmet="true" name="docsearch:language" content="en">< [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/3.485a7a73.js" as="script">
 <link rel="preload" href="/assets/js/7e37206e.e132109d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/3.485a7a73.js"></script>
diff --git a/index.html b/index.html
index 3ba496b..76f5ff9 100644
--- a/index.html
+++ b/index.html
@@ -16,19 +16,19 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/188.6ef04a13.js" as="script">
 <link rel="preload" href="/assets/js/c4f5d8e4.4578d384.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div id="docusaurus-base-url-issue-banner-container"></div><nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title> [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?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 id="docusaurus-base-url-issue-banner-container"></div><nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title> [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/188.6ef04a13.js"></script>
diff --git a/search/index.html b/search/index.html
index 2be52f8..4b5eba1 100644
--- a/search/index.html
+++ b/search/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Search the documentation | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//search"><meta data-react-helmet="true" name="docse [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/183.fcb40bc5.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/183.fcb40bc5.js"></script>
diff --git a/team/index.html b/team/index.html
index 6cff67a..a7b724e 100644
--- a/team/index.html
+++ b/team/index.html
@@ -16,19 +16,19 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//team"><meta data-react-helmet="true" name="docsearch:language" content="en">< [...]
 <link rel="preload" href="/assets/js/styles.f56fa583.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.52b5d651.js" as="script">
-<link rel="preload" href="/assets/js/main.1171f2a6.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.2e2bf43b.js" as="script">
+<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
 <link rel="preload" href="/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/assets/js/3.485a7a73.js" as="script">
 <link rel="preload" href="/assets/js/859cc09f.c4d9e1e7.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.52b5d651.js"></script>
-<script src="/assets/js/main.1171f2a6.js"></script>
+<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
+<script src="/assets/js/main.e23c139f.js"></script>
 <script src="/assets/js/1.6d19ec46.js"></script>
 <script src="/assets/js/2.dd50ecc7.js"></script>
 <script src="/assets/js/3.485a7a73.js"></script>
diff --git a/zh/404.html b/zh/404.html
index 978f674..c45bdab 100644
--- a/zh/404.html
+++ b/zh/404.html
@@ -16,14 +16,14 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//zh/404.html"><meta data-react-helmet="true" [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/assets/js/19945770.22de58eb.js b/zh/assets/js/19945770.22de58eb.js
new file mode 100644
index 0000000..9da1bdb
--- /dev/null
+++ b/zh/assets/js/19945770.22de58eb.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);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})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/19945770.d5967444.js b/zh/assets/js/19945770.d5967444.js
deleted file mode 100644
index c4bbe88..0000000
--- a/zh/assets/js/19945770.d5967444.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{255:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);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})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/2f1ee7b9.5c3b7e99.js b/zh/assets/js/2f1ee7b9.5c3b7e99.js
new file mode 100644
index 0000000..1361af4
--- /dev/null
+++ b/zh/assets/js/2f1ee7b9.5c3b7e99.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{102:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(7),l=(n(0),n(255)),i={title:"Router radixtree"},o={unversionedId:"router-radixtree",id:"router-radixtree",isDocsHomePage:!1,title:"Router radixtree",description:"\x3c!--",source:"@site/docs/apisix/router-radixtree.md", [...]
\ No newline at end of file
diff --git a/zh/assets/js/2f1ee7b9.6a2858a1.js b/zh/assets/js/2f1ee7b9.6a2858a1.js
deleted file mode 100644
index d896008..0000000
--- a/zh/assets/js/2f1ee7b9.6a2858a1.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{102:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return l})),r.d(t,"metadata",(function(){return b})),r.d(t,"toc",(function(){return o})),r.d(t,"default",(function(){return p}));var a=r(3),n=r(7),i=(r(0),r(255)),l={title:"Router radixtree"},b={unversionedId:"router-radixtree",id:"router-radixtree",isDocsHomePage:!1,title:"Router radixtree",description:"\x3c!--",source:"@site/docs/apisix/router-radixtree.md", [...]
\ No newline at end of file
diff --git a/zh/assets/js/3dc9f306.4b5f665a.js b/zh/assets/js/3dc9f306.4b5f665a.js
deleted file mode 100644
index a20e85e..0000000
--- a/zh/assets/js/3dc9f306.4b5f665a.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{115:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(7),a=(n(0),n(255)),i={id:"2fa",title:"2FA"},c={unversionedId:"2fa",id:"2fa",isDocsHomePage:!1,title:"2FA",description:"Two-factor authentication(2FA)",source:"@site/docs/general/2fa.md",slug:"/2fa",permalink:"/zh/docs/ [...]
\ No newline at end of file
diff --git a/zh/assets/js/3dc9f306.acf1f148.js b/zh/assets/js/3dc9f306.acf1f148.js
new file mode 100644
index 0000000..1df3f3d
--- /dev/null
+++ b/zh/assets/js/3dc9f306.acf1f148.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{115:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return s}));var r=n(3),o=n(7),a=(n(0),n(255)),i={id:"2fa",title:"2FA"},c={unversionedId:"2fa",id:"2fa",isDocsHomePage:!1,title:"2FA",description:"Two-factor authentication(2FA)",source:"@site/docs/general/2fa.md",slug:"/2fa",permalink:"/zh/docs/ [...]
\ No newline at end of file
diff --git a/zh/assets/js/50facf8e.41aa5882.js b/zh/assets/js/50facf8e.41aa5882.js
deleted file mode 100644
index 0f0bcb4..0000000
--- a/zh/assets/js/50facf8e.41aa5882.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{130:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var i=r(3),n=r(7),a=(r(0),r(255)),o={id:"subscribe-guide",slug:"/subscribe-guide",title:"Subscribe Guide"},c={unversionedId:"subscribe-guide",id:"subscribe-guide",isDocsHomePage:!1,title:"Subscribe Guide",description:"During the proc [...]
\ No newline at end of file
diff --git a/zh/assets/js/50facf8e.517cddb8.js b/zh/assets/js/50facf8e.517cddb8.js
new file mode 100644
index 0000000..347a7c9
--- /dev/null
+++ b/zh/assets/js/50facf8e.517cddb8.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{130:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var i=r(3),n=r(7),a=(r(0),r(255)),o={id:"subscribe-guide",slug:"/subscribe-guide",title:"Subscribe Guide"},c={unversionedId:"subscribe-guide",id:"subscribe-guide",isDocsHomePage:!1,title:"Subscribe Guide",description:"During the proc [...]
\ No newline at end of file
diff --git a/zh/assets/js/66fbb9c2.b9a90dbf.js b/zh/assets/js/66fbb9c2.b9a90dbf.js
deleted file mode 100644
index e8aa0df..0000000
--- a/zh/assets/js/66fbb9c2.b9a90dbf.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{141:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),i=(r(0),r(255)),o={id:"security",title:"Security"},c={unversionedId:"security",id:"security",isDocsHomePage:!1,title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating secu [...]
\ No newline at end of file
diff --git a/zh/assets/js/66fbb9c2.cfad59db.js b/zh/assets/js/66fbb9c2.cfad59db.js
new file mode 100644
index 0000000..43cdf2e
--- /dev/null
+++ b/zh/assets/js/66fbb9c2.cfad59db.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{141:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return c})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return p}));var n=r(3),a=r(7),i=(r(0),r(255)),o={id:"security",title:"Security"},c={unversionedId:"security",id:"security",isDocsHomePage:!1,title:"Security",description:"The Apache Software Foundation takes a rigorous stance on eliminating secu [...]
\ No newline at end of file
diff --git a/zh/assets/js/7af3052c.04322a3b.js b/zh/assets/js/7af3052c.04322a3b.js
new file mode 100644
index 0000000..5ab3ce4
--- /dev/null
+++ b/zh/assets/js/7af3052c.04322a3b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[89],{157:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return s})),t.d(a,"metadata",(function(){return o})),t.d(a,"toc",(function(){return l})),t.d(a,"default",(function(){return p}));var n=t(3),i=t(7),r=(t(0),t(255)),s={id:"release-guide",title:"Release Guide"},o={unversionedId:"release-guide",id:"release-guide",isDocsHomePage:!1,title:"Release Guide",description:"Release Flow",source:"@site/docs/general/release- [...]
\ No newline at end of file
diff --git a/zh/assets/js/7af3052c.47d0e6bd.js b/zh/assets/js/7af3052c.47d0e6bd.js
deleted file mode 100644
index 7f7c324..0000000
--- a/zh/assets/js/7af3052c.47d0e6bd.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[89],{157:function(e,a,t){"use strict";t.r(a),t.d(a,"frontMatter",(function(){return s})),t.d(a,"metadata",(function(){return o})),t.d(a,"toc",(function(){return l})),t.d(a,"default",(function(){return p}));var n=t(3),i=t(7),r=(t(0),t(255)),s={id:"release-guide",title:"Release Guide"},o={unversionedId:"release-guide",id:"release-guide",isDocsHomePage:!1,title:"Release Guide",description:"Release Flow",source:"@site/docs/general/release- [...]
\ No newline at end of file
diff --git a/zh/assets/js/8e784bf3.2f83f7ef.js b/zh/assets/js/8e784bf3.2f83f7ef.js
new file mode 100644
index 0000000..f8fa3b0
--- /dev/null
+++ b/zh/assets/js/8e784bf3.2f83f7ef.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[102],{169:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var o=n(3),r=n(7),a=(n(0),n(255)),i={id:"committer-guide",title:"Committer Guide"},c={unversionedId:"committer-guide",id:"committer-guide",isDocsHomePage:!1,title:"Committer Guide",description:"What can I contribute?",source:"@site/ [...]
\ No newline at end of file
diff --git a/zh/assets/js/8e784bf3.621f80e0.js b/zh/assets/js/8e784bf3.621f80e0.js
deleted file mode 100644
index 0cd9c8c..0000000
--- a/zh/assets/js/8e784bf3.621f80e0.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[102],{169:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return b}));var o=n(3),r=n(7),a=(n(0),n(255)),i={id:"committer-guide",title:"Committer Guide"},c={unversionedId:"committer-guide",id:"committer-guide",isDocsHomePage:!1,title:"Committer Guide",description:"What can I contribute?",source:"@site/ [...]
\ No newline at end of file
diff --git a/zh/assets/js/adbb350b.9d0a1999.js b/zh/assets/js/adbb350b.9d0a1999.js
new file mode 100644
index 0000000..5593977
--- /dev/null
+++ b/zh/assets/js/adbb350b.9d0a1999.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{191:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return s})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return b}));var i=r(3),a=r(7),n=(r(0),r(255)),o={id:"contributor-guide",title:"Contributor Guide"},s={unversionedId:"contributor-guide",id:"contributor-guide",isDocsHomePage:!1,title:"Contributor Guide",description:"Please fee free to report bu [...]
\ No newline at end of file
diff --git a/zh/assets/js/adbb350b.d0c1eeb9.js b/zh/assets/js/adbb350b.d0c1eeb9.js
deleted file mode 100644
index de14c76..0000000
--- a/zh/assets/js/adbb350b.d0c1eeb9.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{191:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return o})),r.d(t,"metadata",(function(){return s})),r.d(t,"toc",(function(){return c})),r.d(t,"default",(function(){return b}));var i=r(3),a=r(7),n=(r(0),r(255)),o={id:"contributor-guide",title:"Contributor Guide"},s={unversionedId:"contributor-guide",id:"contributor-guide",isDocsHomePage:!1,title:"Contributor Guide",description:"Please fee free to report bu [...]
\ No newline at end of file
diff --git a/zh/assets/js/d0e718c3.62f61e84.js b/zh/assets/js/d0e718c3.3009deb1.js
similarity index 81%
rename from zh/assets/js/d0e718c3.62f61e84.js
rename to zh/assets/js/d0e718c3.3009deb1.js
index 9fa12b4..b1f51da 100644
--- a/zh/assets/js/d0e718c3.62f61e84.js
+++ b/zh/assets/js/d0e718c3.3009deb1.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[144],{210:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return r})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return d}));var a=n(3),l=n(7),b=(n(0),n(255)),r={title:"Admin API"},i={unversionedId:"admin-api",id:"admin-api",isDocsHomePage:!1,title:"Admin API",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-docs-apisix/current/a [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[144],{210:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return r})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return d}));var a=n(3),l=n(7),b=(n(0),n(255)),r={title:"Admin API"},i={unversionedId:"admin-api",id:"admin-api",isDocsHomePage:!1,title:"Admin API",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-docs-apisix/current/a [...]
\ No newline at end of file
diff --git a/zh/assets/js/e00a615f.6c1d4d99.js b/zh/assets/js/e00a615f.6c1d4d99.js
deleted file mode 100644
index d5b4b31..0000000
--- a/zh/assets/js/e00a615f.6c1d4d99.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[156],{222:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return c})),t.d(n,"metadata",(function(){return i})),t.d(n,"toc",(function(){return u})),t.d(n,"default",(function(){return o}));var r=t(3),a=t(7),l=(t(0),t(255)),c={title:"serverless"},i={unversionedId:"plugins/serverless",id:"plugins/serverless",isDocsHomePage:!1,title:"serverless",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-d [...]
\ No newline at end of file
diff --git a/zh/assets/js/e00a615f.92fc0d7b.js b/zh/assets/js/e00a615f.92fc0d7b.js
new file mode 100644
index 0000000..6643f1b
--- /dev/null
+++ b/zh/assets/js/e00a615f.92fc0d7b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[156],{222:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return c})),t.d(n,"metadata",(function(){return i})),t.d(n,"toc",(function(){return u})),t.d(n,"default",(function(){return o}));var r=t(3),a=t(7),l=(t(0),t(255)),c={title:"serverless"},i={unversionedId:"plugins/serverless",id:"plugins/serverless",isDocsHomePage:!1,title:"serverless",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-d [...]
\ No newline at end of file
diff --git a/zh/assets/js/ece6e754.13dea1a0.js b/zh/assets/js/ece6e754.13dea1a0.js
new file mode 100644
index 0000000..087bde7
--- /dev/null
+++ b/zh/assets/js/ece6e754.13dea1a0.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[166],{234:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return p})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(7),i=(n(0),n(255)),p={title:"prometheus"},c={unversionedId:"plugins/prometheus",id:"plugins/prometheus",isDocsHomePage:!1,title:"prometheus",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-d [...]
\ No newline at end of file
diff --git a/zh/assets/js/ece6e754.3e69baa5.js b/zh/assets/js/ece6e754.3e69baa5.js
deleted file mode 100644
index ece1db1..0000000
--- a/zh/assets/js/ece6e754.3e69baa5.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[166],{234:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return p})),n.d(t,"toc",(function(){return b})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(7),i=(n(0),n(255)),c={title:"prometheus"},p={unversionedId:"plugins/prometheus",id:"plugins/prometheus",isDocsHomePage:!1,title:"prometheus",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-d [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.369efd25.js b/zh/assets/js/main.f9a260b0.js
similarity index 96%
rename from zh/assets/js/main.369efd25.js
rename to zh/assets/js/main.f9a260b0.js
index f029a2d..c1a33fa 100644
--- a/zh/assets/js/main.369efd25.js
+++ b/zh/assets/js/main.f9a260b0.js
@@ -1,2 +1,2 @@
-/*! For license information please see main.369efd25.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[181],[function(e,t,n){"use strict";e.exports=n(38)},function(e,t,n){e.exports=n(42)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return C})),n.d(t,"e",(function(){return b})),n.d(t,"f",(function(){return N})),n.d(t,"g",(function(){return L})),n.d(t,"h",(function(){return g})),n.d(t,"i",(function(){return E})),n.d(t,"j",(functi [...]
\ No newline at end of file
+/*! For license information please see main.f9a260b0.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[181],[function(e,t,n){"use strict";e.exports=n(38)},function(e,t,n){e.exports=n(42)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return w})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return C})),n.d(t,"e",(function(){return b})),n.d(t,"f",(function(){return N})),n.d(t,"g",(function(){return L})),n.d(t,"h",(function(){return g})),n.d(t,"i",(function(){return E})),n.d(t,"j",(functi [...]
\ No newline at end of file
diff --git a/assets/js/main.1171f2a6.js.LICENSE.txt b/zh/assets/js/main.f9a260b0.js.LICENSE.txt
similarity index 100%
rename from assets/js/main.1171f2a6.js.LICENSE.txt
rename to zh/assets/js/main.f9a260b0.js.LICENSE.txt
diff --git a/zh/assets/js/runtime~main.d9182733.js b/zh/assets/js/runtime~main.c782b49d.js
similarity index 91%
rename from zh/assets/js/runtime~main.d9182733.js
rename to zh/assets/js/runtime~main.c782b49d.js
index 9422609..58b9e57 100644
--- a/zh/assets/js/runtime~main.d9182733.js
+++ b/zh/assets/js/runtime~main.c782b49d.js
@@ -1 +1 @@
-!function(e){function f(f){for(var c,r,t=f[0],n=f[1],o=f[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(d,r)&&d[r]&&l.push(d[r][0]),d[r]=0;for(c in n)Object.prototype.hasOwnProperty.call(n,c)&&(e[c]=n[c]);for(i&&i(f);l.length;)l.shift()();return b.push.apply(b,o||[]),a()}function a(){for(var e,f=0;f<b.length;f++){for(var a=b[f],c=!0,r=1;r<a.length;r++){var n=a[r];0!==d[n]&&(c=!1)}c&&(b.splice(f--,1),e=t(t.s=a[0]))}return e}var c={},d={182:0},b=[];function r(e){ret [...]
\ No newline at end of file
+!function(e){function f(f){for(var c,r,t=f[0],n=f[1],o=f[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(d,r)&&d[r]&&l.push(d[r][0]),d[r]=0;for(c in n)Object.prototype.hasOwnProperty.call(n,c)&&(e[c]=n[c]);for(i&&i(f);l.length;)l.shift()();return b.push.apply(b,o||[]),a()}function a(){for(var e,f=0;f<b.length;f++){for(var a=b[f],c=!0,r=1;r<a.length;r++){var n=a[r];0!==d[n]&&(c=!1)}c&&(b.splice(f--,1),e=t(t.s=a[0]))}return e}var c={},d={182:0},b=[];function r(e){ret [...]
\ No newline at end of file
diff --git a/zh/blog/2020/08/22/new-website/index.html b/zh/blog/2020/08/22/new-website/index.html
index 86f0c80..d8fb4ce 100644
--- a/zh/blog/2020/08/22/new-website/index.html
+++ b/zh/blog/2020/08/22/new-website/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="t [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/a6641250.cef3f0d3.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/4.bed3a1bc.js"></script>
diff --git a/zh/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html b/zh/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
index f89d0fe..63d2f87 100644
--- a/zh/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/zh/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bed3a1bc.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/749ed826.95019574.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-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 enhancedAnchor_2LWZ" 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  [...]
 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 enhancedAnchor_2LWZ" 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> [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/4.bed3a1bc.js"></script>
diff --git a/zh/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html b/zh/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
index 15440ce..1f5adde 100644
--- a/zh/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
+++ b/zh/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/a4a2cefa.173bfa6e.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/4.bed3a1bc.js"></script>
diff --git a/zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html b/zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
index e4a7b6b..fd588e4 100644
--- a/zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/zh/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" na [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bed3a1bc.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/1c89ab3b.51521b1c.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;headers&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token plain"> </span><span c [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/4.bed3a1bc.js"></script>
diff --git a/zh/blog/2021/02/08/stable-product-delivery-with-cypress/index.html b/zh/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
index af33d12..9d5818f 100644
--- a/zh/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/zh/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/47e0bf55.2ff80b3f.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/4.bed3a1bc.js"></script>
diff --git a/zh/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html b/zh/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
index f40e247..8f851e6 100644
--- a/zh/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
+++ b/zh/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bed3a1bc.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/96ff6680.218d8bcd.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apache APIS [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME: apisix-gw</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">LAST DEPLOYED: Fri Feb 19 11:34:14 2021</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAMESPACE: default</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">STATUS: deployed</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/4.bed3a1bc.js"></script>
diff --git a/zh/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html b/zh/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
index cacc7be..6d13f05 100644
--- a/zh/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
+++ b/zh/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/5aca9bfb.f5be50b8.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/4.bed3a1bc.js"></script>
diff --git a/zh/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html b/zh/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
index 45e5ccf..7080320 100644
--- a/zh/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
+++ b/zh/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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="Traffic Split is a feature that splits and deliveries traffic to multiple [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bed3a1bc.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/2ceea113.4be45ca4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/4.bed3a1bc.js"></script>
diff --git a/zh/blog/index.html b/zh/blog/index.html
index 4f07ca3..aa62729 100644
--- a/zh/blog/index.html
+++ b/zh/blog/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apa [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bed3a1bc.js" as="script">
@@ -34,11 +34,11 @@
 <link rel="preload" href="/zh/assets/js/3a332aed.d8768871.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/4.bed3a1bc.js"></script>
diff --git a/zh/docs/apisix/FAQ/index.html b/zh/docs/apisix/FAQ/index.html
index bc3f791..4c53d45 100644
--- a/zh/docs/apisix/FAQ/index.html
+++ b/zh/docs/apisix/FAQ/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/5880833a.e8e65fa4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 这样不仅去掉了轮询,让代码更加的简洁,配置同步也更加实时。同时系统也不会存在单点,可用性更高。</p><p>另外,APISIX 具备动态路由和插件热加载,特别适合微服务体系下的 API 管理。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="apisix-的性能怎么样?"></a>APISIX 的性能怎么样?<a class="hash-link" href="#apisix-的性能怎么样?" title="Direct link to heading">#</a></h2><p>APISIX 设计和开发的目标之一,就是业界最高的性能。具体测试数据见这里:<a href="https://github.com/apache/apisix/blob/master/docs/en/latest/benchmark.md" target="_blank" rel="noopener noreferrer">benchmark</a></p><p>APISIX 是 [...]
 luarocks 服务。 运行 <code>luarocks config rocks_servers</code> 命令(这个命令在 luarocks 3.0 版本后开始支持)
 可以查看有哪些可用服务。对于中国大陆用户,你可以使用 <code>luarocks.cn</code> 这一个 luarocks 服务。</p><p>我们已经封装好了选择服务地址的操作:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token assign-left variable" style="color:rgb(191, 199, 213)">LUAROCKS_SERVER</span><span class="token operato [...]
@@ -37,8 +37,8 @@ luarocks 服务。 运行 <code>luarocks config rocks_servers</code> 命令(
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">&lt;html&gt;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">&lt;head&gt;&lt;title&gt;301 Moved Permanently&lt;/title&gt;&lt;/head&gt;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">&lt;body&gt;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">&lt;center&gt;&lt;h1&gt;301 Moved Permanently&lt;/h1&gt [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># uri 匹配失败</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/12ab -i</span></div><div class="token-line" style="color:#bfc7d5 [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/IGNORE_DOC/index.html b/zh/docs/apisix/IGNORE_DOC/index.html
index f520555..74865e2 100644
--- a/zh/docs/apisix/IGNORE_DOC/index.html
+++ b/zh/docs/apisix/IGNORE_DOC/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/601c6eaa.98bdfe91.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/admin-api/index.html b/zh/docs/apisix/admin-api/index.html
index 1f11298..5247558 100644
--- a/zh/docs/apisix/admin-api/index.html
+++ b/zh/docs/apisix/admin-api/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/d73fca9b.22e788e5.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/d0e718c3.62f61e84.js" as="script">
+<link rel="preload" href="/zh/assets/js/d0e718c3.3009deb1.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 插件,并把请求转发给到指定 Upstream。</p><p>注意:在启用 <code>Admin API</code> 时,它会占用前缀为 <code>/apisix/admin</code> 的 API。因此,为了避免您设计 API 与 <code>/apisix/admin</code> 冲突,建议为 Admin API 使用其他端口,您可以在 <code>conf/config.yaml</code> 中通过 <code>port_admin</code> 进行自定义 Admin API 端口。</p><blockquote><p>请求方法:</p></blockquote><table><thead><tr><th>名字</th><th>请求 uri</th><th>请求 body</th><th>说明</th></tr></thead><tbody><tr><td>GET</td><td>/apisix/admin/routes</td><td>无</td><td>获取资源列表</td></tr><tr><td>GET</td><td>/apisix/admi [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Date: Sat, </span><span class="token number" style="color:rgb(247, 140, 108)">31</span><span class="token plain"> Aug </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 创建一个有效期为 60 秒的路由,过期后自动删除</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2?ttl</span><span class="t [...]
@@ -89,16 +89,16 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">执行成功后,nodes 将不保留原来的数据,整个更新为:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;39.97.63.200:80&quot;</spa [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>示例二:将客户端请求代理到上游 <code>https</code> 服务</p><p>1、创建 route 并配置 upstream 的 scheme 为 <code>https</code>。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" sty [...]
 举个例子:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="to [...]
-所以它是 <code>127.0.0.1</code> 的备份。</p><blockquote><p>应答参数</p></blockquote><p>目前是直接返回与 etcd 交互后的结果。</p><p><a href="#%E7%9B%AE%E5%BD%95">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>地址</em>:/apisix/admin/ssl/{id}</p><p><em>说明</em>:SSL.</p><blockquote><p>请求方法:</p></blockquote><table><thead><tr><th>名字</th><th>请求 uri</th><th>请求 body</th><th>说明</th></t [...]
+所以它是 <code>127.0.0.1</code> 的备份。</p><blockquote><p>应答参数</p></blockquote><p>目前是直接返回与 etcd 交互后的结果。</p><p><a href="#%E7%9B%AE%E5%BD%95">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>地址</em>:/apisix/admin/ssl/{id}</p><p><em>说明</em>:SSL.</p><blockquote><p>请求方法:</p></blockquote><table><thead><tr><th>名字</th><th>请求 uri</th><th>请求 body</th><th>说明</th></t [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&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:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><s [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/d73fca9b.22e788e5.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/d0e718c3.62f61e84.js"></script>
+<script src="/zh/assets/js/d0e718c3.3009deb1.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/architecture-design/apisix/index.html b/zh/docs/apisix/architecture-design/apisix/index.html
index 8a8587b..6cb6dc1 100644
--- a/zh/docs/apisix/architecture-design/apisix/index.html
+++ b/zh/docs/apisix/architecture-design/apisix/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,15 +26,15 @@
 <link rel="preload" href="/zh/assets/js/5bf823ed.fac8a5b3.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 其他配置保持默认。在 <code>config.yaml</code> 中只需这样配置:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apisix</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="tok [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">etcd</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token key atrule">host</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="tok [...]
 <strong>永远不要</strong>手工修改 <code>conf/config-default.yaml</code> 文件。如果需要自定义任何配置,都应在 <code>config.yaml</code> 文件中完成。</p><p><em>注意</em> 不要手工修改 APISIX 自身的 <code>conf/nginx.conf</code> 文件,当服务每次启动时,<code>apisix</code>
 会根据 <code>config.yaml</code> 配置自动生成新的 <code>conf/nginx.conf</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/zh/latest/architecture-design/apisix.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  [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/architecture-design/consumer/index.html b/zh/docs/apisix/architecture-design/consumer/index.html
index 5b958b9..079aa18 100644
--- a/zh/docs/apisix/architecture-design/consumer/index.html
+++ b/zh/docs/apisix/architecture-design/consumer/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-a [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/35b25cb8.f897c69f.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 然后进行插件过滤并转发请求到指定上游,但有时候这个深度不够。</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/consumer-who.png" alt="Consumer"></p><p>如上图所示,作为 API 网关,需要知道 API Consumer(消费方)具体是谁,这样就可以对不同 API Consumer 配置不同规则。</p><table><thead><tr><th>字段</th><th>必选</th><th>说明</th></tr></thead><tbody><tr><td>username</td><td>是</td><td>Consumer 名称。</td></tr><tr><td>plugins</td><td>否</td><td>该 Consumer 对应的插件配置,它的优先级是最高的:Consumer &gt; Route &gt; Service。对于具体插件配置,可以参考 <a href="/zh/docs [...]
 比如不同的 Consumer 请求同一个 API,网关服务根据当前请求用户信息,对应不同的 Plugin 或 Upstream 配置。</p><p>此外,大家也可以参考 <a href="/zh/docs/apisix/plugins/key-auth">key-auth</a> 认证授权插件的调用逻辑,辅助大家来进一步理解 Consumer 概念和使用。</p><p>如何对某个 Consumer 开启指定插件,可以看下面例子:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 创建 Router,设置路由规则和启用插件配置</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="to [...]
@@ -39,8 +39,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 反复测试,均返回 403,jack被禁止访问</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><span class="token string" style [...]
 </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/zh/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="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/architecture-design/debug-mode/index.html b/zh/docs/apisix/architecture-design/debug-mode/index.html
index 2f26904..e4950a4 100644
--- a/zh/docs/apisix/architecture-design/debug-mode/index.html
+++ b/zh/docs/apisix/architecture-design/debug-mode/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/zh/assets/js/7e8e17a7.fbf47878.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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>如果这个信息无法通过 HTTP 应答头传递,比如插件在 stream 子系统里面执行,
 那么这个信息会以 warn 等级日志写入到错误日志中。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="高级调试模式"></a>高级调试模式<a class="hash-link" href="#高级调试模式" title="Direct link to heading">#</a></h3><p>设置 <code>conf/debug.yaml</code> 中的选项,开启高级调试模式。由于 APISIX 服务启动后是每秒定期检查该文件,
 当可以正常读取到 <code>#END</code> 结尾时,才认为文件处于写完关闭状态。</p><p>根据文件最后修改时间判断文件内容是否有变化,如有变化则重新加载,如没变化则跳过本次检查。
 所以高级调试模式的开启、关闭都是热更新方式完成。</p><table><thead><tr><th>名字</th><th>可选项</th><th>说明</th><th>默认值</th></tr></thead><tbody><tr><td>hook_conf.enable</td><td>必选项</td><td>是否开启 hook 追踪调试。开启后将打印指定模块方法的请求参数或返回值</td><td>false</td></tr><tr><td>hook_conf.name</td><td>必选项</td><td>开启 hook 追踪调试的模块列表名称</td><td></td></tr><tr><td>hook_conf.log_level</td><td>必选项</td><td>打印请求参数和返回值的日志级别</td><td>warn</td></tr><tr><td>hook_conf.is_print_input_args</td><td>必选项</td><td>是否打印输入参数</td><td>true</td></tr><tr><td>hook_conf.i [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">hook_phase</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 模块函数列表,名字:hook_phase</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="toke [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/architecture-design/global-rule/index.html b/zh/docs/apisix/architecture-design/global-rule/index.html
index e232e99..3601835 100644
--- a/zh/docs/apisix/architecture-design/global-rule/index.html
+++ b/zh/docs/apisix/architecture-design/global-rule/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/458cdf70.53fc04cc.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 这时候我们可以使用 <code>GlobalRule</code> 来注册一个全局的 <a href="/zh/docs/apisix/architecture-design/plugin">Plugin</a>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -X PUT  [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/architecture-design/plugin-config/index.html b/zh/docs/apisix/architecture-design/plugin-config/index.html
index 2a99c35..492d6cf 100644
--- a/zh/docs/apisix/architecture-design/plugin-config/index.html
+++ b/zh/docs/apisix/architecture-design/plugin-config/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/30dc1fa0.46d04050.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 绑定到路由上</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style [...]
 相同的插件会覆盖掉 <code>plugins</code> 原有的插件。</p><p>举个例子:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">{</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    &quot;desc&quot;: &quot;吾乃插件配置1&quot;,</span> [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/architecture-design/plugin/index.html b/zh/docs/apisix/architecture-design/plugin/index.html
index a1346bf..8a0b4e5 100644
--- a/zh/docs/apisix/architecture-design/plugin/index.html
+++ b/zh/docs/apisix/architecture-design/plugin/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/9e25fdd8.10a65627.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 个插件的配置,只能有一份是有效的,配置选择优先级总是 <code>Consumer</code> &gt; <code>Route</code> &gt; <code>Service</code>。</p><p>在 <code>conf/config.yaml</code> 中,可以声明本地 APISIX 节点都支持哪些插件。这是个白名单机制,不在该
 白名单的插件配置,都将会被自动忽略。这个特性可用于临时关闭或打开特定插件,应对突发情况非常有效。
 如果你想在现有插件的基础上新增插件,注意需要拷贝 <code>conf/config-default.yaml</code> 的插件节点内容到 <code>conf/config.yaml</code> 的插件节点中。</p><p>插件的配置可以被直接绑定在指定 Route 中,也可以被绑定在 Service 中,不过 Route 中的插件配置
@@ -36,8 +36,8 @@
 名字作为哈希的 key 来保存不同插件的配置项。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    ... [...]
 标识即可。</p><p>如果一个请求因为某个插件而被拒绝,会有类似这样的 warn 日志:<code>ip-restriction exits with http status code 403</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/zh/latest/architecture-design/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 pa [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/architecture-design/route/index.html b/zh/docs/apisix/architecture-design/route/index.html
index 9048ccb..9db60c1 100644
--- a/zh/docs/apisix/architecture-design/route/index.html
+++ b/zh/docs/apisix/architecture-design/route/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apis [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,15 +26,15 @@
 <link rel="preload" href="/zh/assets/js/a9feb042.c1c39215.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 插件,并把请求转发给到指定 Upstream。</p><p>Route 中主要包含三部分内容:匹配规则(比如 uri、host、remote_addr 等),插件配置(限流限速等)和上游信息。
 请看下图示例,是一些 Route 规则的实例,当某些属性值相同时,图中用相同颜色标识。</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/routes-example.png" alt="路由示例"></p><p>我们直接在 Route 中完成所有参数的配置,优点是容易设置,每个 Route 都相对独立自由度比较高。但当我们的 Route 有比较多的重复配置(比如启用相同的插件配置或上游信息),一旦我们要更新这些相同属性时,就需要遍历所有 Route 并进行修改,给后期管理维护增加不少复杂度。</p><p>上面提及重复的缺点在 APISIX 中独立抽象了 <a href="/zh/docs/apisix/architecture-design/service">Service</a> 和 <a href="/zh/docs/apisix/architecture-design/upstream">Upstream</a> 两个概念来解决。</ [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">201</span><span class="token plain"> Created</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Date: Sat, </span><span class="token number" style="color:rgb(247, 140, 108)">31</span><span class="token plain"> Aug </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;value&quot;</span><span class="token plain">:</span><span class="token  [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/architecture-design/router/index.html b/zh/docs/apisix/architecture-design/router/index.html
index 386d623..ff84a64 100644
--- a/zh/docs/apisix/architecture-design/router/index.html
+++ b/zh/docs/apisix/architecture-design/router/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/d9a95709.7b73ffc8.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/architecture-design/script/index.html b/zh/docs/apisix/architecture-design/script/index.html
index 0a895cd..51745ab 100644
--- a/zh/docs/apisix/architecture-design/script/index.html
+++ b/zh/docs/apisix/architecture-design/script/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/6f8b8f6f.44394a96.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/architecture-design/service/index.html b/zh/docs/apisix/architecture-design/service/index.html
index 2a9fb4f..d7e8be8 100644
--- a/zh/docs/apisix/architecture-design/service/index.html
+++ b/zh/docs/apisix/architecture-design/service/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-ap [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/zh/assets/js/dcd33163.c1e06239.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 与 <code>Service</code> 之间,通常是 N:1 的关系,参看下图。</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/service-example.png" alt="服务示例"></p><p>不同 Route 规则同时绑定到一个 Service 上,这些 Route 将具有相同的上游和插件配置,减少冗余配置。</p><p>比如下面的例子,创建了一个启用限流插件的 Service,然后把 id 为 <code>100</code>、<code>101</code> 的 Route 都绑定在这个 Service 上。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);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:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/route [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/architecture-design/upstream/index.html b/zh/docs/apisix/architecture-design/upstream/index.html
index 292b954..30bb227 100644
--- a/zh/docs/apisix/architecture-design/upstream/index.html
+++ b/zh/docs/apisix/architecture-design/upstream/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-a [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/b11ac1fe.b3996ae9.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 优先级更高。这里的优先级行为与 <code>Plugin</code> 非常相似</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="配置参数"></a>配置参数<a class="hash-link" href="#配置参数" title="Direct link to heading">#</a></h3><p>APISIX 的 Upstream 除了基本的复杂均衡算法选择外,还支持对上游做主被动健康检查、重试等逻辑,具体看这个<a href="/zh/docs/apisix/admin-api#upstream">链接</a>。</p><p>创建上游对象用例:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/aws/index.html b/zh/docs/apisix/aws/index.html
index 477b826..f5c6e88 100644
--- a/zh/docs/apisix/aws/index.html
+++ b/zh/docs/apisix/aws/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/71950930.0911d8ba.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">const</span><span class="token plain"> project </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token keyword" style="font-style:italic">new</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(255, 203, 107)">AwsCdkTypeScriptApp</span> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">project</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token method function property-access" style="color:rgb(130, 170, 255)">synth</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span></di [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">export</span><span class="token plain"> </span><span class="token keyword" style="font-style:italic">class</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(255, 203, 107)">ApiSixStack</span><span class="token plain"> </span><span class="token keyword" style="font-style:italic">extends</span><span class="to [...]
@@ -51,8 +51,8 @@
 <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 enhancedAnchor_2LWZ" 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/ima [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/batch-processor/index.html b/zh/docs/apisix/batch-processor/index.html
index 57425a0..ec672d4 100644
--- a/zh/docs/apisix/batch-processor/index.html
+++ b/zh/docs/apisix/batch-processor/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/2503b74e.8bbf7b2b.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 当batch_max_size设置为零时,处理器将立即执行每个条目。将批处理的最大大小设置为大于1将开始聚合条目,直到达到最大大小或超时到期为止</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="构型"></a>构型<a class="hash-link" href="#构型" title="Direct link to heading">#</a></h2><p>创建批处理程序的唯一必需参数是函数。当批处理达到最大大小或缓冲区持续时间超过时,将执行该功能。</p><table><thead><tr><th>名称</th><th>需求</th><th>描述</th></tr></thead><tbody><tr><td>id</td><td>可选的</td><td>标识批处理者的唯一标识符</td></tr><tr><td>batch_max_size</td><td>可选的</td><td>每批的最大大小,默认为1000</td></tr><tr><td> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">local config = {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    max_retry_count  = 2,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    buffer_duration  = 60,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    inactive_timeout  = 5,</span></div><div class="token-line" style="color:#bfc7d5"> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
@@ -36,8 +36,8 @@
 刷新批处理的计时器基于“ inactive_timeout”配置运行。因此,为了获得最佳使用效果,
 保持“ inactive_timeout”小于“ buffer_duration”。</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/zh/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.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3. [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/benchmark/index.html b/zh/docs/apisix/benchmark/index.html
index d1b7ec4..ffcb9a1 100644
--- a/zh/docs/apisix/benchmark/index.html
+++ b/zh/docs/apisix/benchmark/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/eba3b9b2.56373240.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="火焰图采样结果"></p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/zh/latest/benchmark.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 [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/control-api/index.html b/zh/docs/apisix/control-api/index.html
index fd86399..8245373 100644
--- a/zh/docs/apisix/control-api/index.html
+++ b/zh/docs/apisix/control-api/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/zh/assets/js/ff8d1795.b5dc6fd5.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 the <code>control</code> section under <code>apisix</code> in <code>conf/config.yaml</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apisix</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span  [...]
 If a plugin adds such a control API, please refer to each plugin&#x27;s documentation for those APIs.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="plugin-independent-control-api"></a>Plugin independent Control API<a class="hash-link" href="#plugin-independent-control-api" title="Direct link to heading">#</a></h2><p>Here is the supported API:</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="get-v1schema"></a>GET /v1/sch [...]
 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 enhancedAnchor_2LWZ" 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="/zh/docs/apisix/health-check">health check</a> status in the format below:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeB [...]
 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="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/customize-nginx-configuration/index.html b/zh/docs/apisix/customize-nginx-configuration/index.html
index 0300e8f..b3f0e0f 100644
--- a/zh/docs/apisix/customize-nginx-configuration/index.html
+++ b/zh/docs/apisix/customize-nginx-configuration/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">自定义 Nginx 配置 | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-do [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/zh/assets/js/b8ef15e5.aa30d304.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-li [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token key atrule">http_server_configuration_snippet</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">|</span><span class="token scalar string" style="color:rgb(195, 232, 141)"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token  [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/debug-function/index.html b/zh/docs/apisix/debug-function/index.html
index a7fbdfb..e493b33 100644
--- a/zh/docs/apisix/debug-function/index.html
+++ b/zh/docs/apisix/debug-function/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/72aa3c55.e6230f14.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>具有 <code>X-APISIX-Upstream-Status: 502</code> 的响应头。</p><p>示例2: <code>502</code> 响应状态码来源于 <code>APISIX</code></p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/discovery/consul_kv/index.html b/zh/docs/apisix/discovery/consul_kv/index.html
index fd3f68a..9e0fbed 100644
--- a/zh/docs/apisix/discovery/consul_kv/index.html
+++ b/zh/docs/apisix/discovery/consul_kv/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/zh/assets/js/e461335b.384accd4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <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 enhancedAnchor_2LWZ" 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 enhancedAnchor_2LWZ" id="configuration-for-consul-kv"></a>Configu [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token [...]
 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 enhancedAnchor_2LWZ" 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 noreferre [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/discovery/dns/index.html b/zh/docs/apisix/discovery/dns/index.html
index f1527d7..7b4f43c 100644
--- a/zh/docs/apisix/discovery/dns/index.html
+++ b/zh/docs/apisix/discovery/dns/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisix [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/72ff46d3.f8ff9fb2.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 via DNS. Therefore we can use this way to discover service directly.</p><p>First of all, we need to configure the address of DNS servers:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic" [...]
 DNS will return all records. For example, with upstream configuration:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="co [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">; name  TTL         type    priority    weight  port</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">srv     86400 IN    SRV     10          60      1980 A</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">srv     86400 IN    SRV     20          20      1981 B</span></div></div></div><button type="button" aria-label="Copy code to clipb [...]
@@ -38,8 +38,8 @@ 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/zh/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="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/discovery/eureka/index.html b/zh/docs/apisix/discovery/eureka/index.html
index 0324e9c..608be99 100644
--- a/zh/docs/apisix/discovery/eureka/index.html
+++ b/zh/docs/apisix/discovery/eureka/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/af4112e0.7877fe4a.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 reading from <a href="/zh/docs/apisix/discovery.md#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/zh/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="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/discovery/index.html b/zh/docs/apisix/discovery/index.html
index d58234a..93f58ea 100644
--- a/zh/docs/apisix/discovery/index.html
+++ b/zh/docs/apisix/discovery/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/3a565ccf.3a07ef54.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">function _M.nodes(service_name)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    ... ...</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">end</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
@@ -38,8 +38,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;value&quot;</span><span class="token plain">:</span><span class="token  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></ [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html b/zh/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
index a242e34..4ac73f7 100644
--- a/zh/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/zh/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_t [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/27858f29.a39bd25c.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">secret </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(130, 170, 255)">bytes</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;the shared secret key here&#x27;</span><span class="token punctuation" style= [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token builtin" style="color:rgb(130, 170, 255)">hash</span><span class="token plain"> </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> hmac</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">new</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><spa [...]
@@ -63,8 +63,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># to lowercase hexits</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:rgb(191, 199, [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:rgb(191, 199, 213)">$ME [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/getting-started/index.html b/zh/docs/apisix/getting-started/index.html
index e0dc45f..e1496b9 100644
--- a/zh/docs/apisix/getting-started/index.html
+++ b/zh/docs/apisix/getting-started/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/1fb167aa.2f39e236.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 为了快速入门,让我们基于 docker 容器的安装方式进行安装。启动 Apache APISIX 服务,我们可以参照这个镜像文件<a href="https://github.com/apache/apisix-docker" target="_blank" rel="noopener noreferrer">repository</a> 并切换到 example 文件夹下执行如下命令。</p><p>如下命令会启动 Apache APISIX 服务并默认在 9080 端口( https 请求是 9443 端口) 提供 admin API 接口服务</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background- [...]
 本指南将会使用到 Admin API 接口。</p><p>一个微服务可以通过 APISIX 的路由、服务、上游和插件等多个实体之间的关系进行配置。
 Route(路由)与客户端请求匹配,并指定它们到达 APISIX 后如何发送到 Upstream(上游,后端 API 服务)。
@@ -41,8 +41,8 @@ Service(服务)为上游服务提供了抽象。因此,您可以创建单
 现在使用下面的命令安全地访问请求。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -i -X GET http://127.0.0.1:9080/get -H </span><span class="token string" style="color:rgb(195, 232 [...]
 可以在<a href="https://github.com/apache/apisix" target="_blank" rel="noopener noreferrer">repository</a>中使用。控制台是直观的,您可以通过它编排同样的路由配置。</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/dashboard.jpeg" alt="Dashboard"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="故障排查"></a>故障排查<a class="hash-link" href="#故障排查" title="Direct link to heading">#</a></h3><ul><li><p>确保所需的端口未被其他系统/进程使用(默认端口为:9080、9443、2379)。下面是终止正在侦听特定端口(基 [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/grpc-proxy/index.html b/zh/docs/apisix/grpc-proxy/index.html
index 179656b..1204dcb 100644
--- a/zh/docs/apisix/grpc-proxy/index.html
+++ b/zh/docs/apisix/grpc-proxy/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 代理 | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-ap [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/9d3eab9b.5bf664bc.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/health-check/index.html b/zh/docs/apisix/health-check/index.html
index 29bf98d..b7b56af 100644
--- a/zh/docs/apisix/health-check/index.html
+++ b/zh/docs/apisix/health-check/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/3a16219a.2e34db41.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 如果一个 upstream 被配置但没有被请求,那么就不会有健康检查。</p><p>下面是一个检查检查的例子:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/how-to-build/index.html b/zh/docs/apisix/how-to-build/index.html
index d3442d4..91160a3 100644
--- a/zh/docs/apisix/how-to-build/index.html
+++ b/zh/docs/apisix/how-to-build/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="d [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/320d67fa.8d4f264e.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 老版本 luarocks 可能不支持 `lua-dir` 参数,可以删除该选项</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> luarocks </span><span class="token function" style="col [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># start APISIX server</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">make</span><span class="token plain"> run</span></div><div class="token-line" style="color:#bfc7d5"><span class [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># stop APISIX server</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">make</span><span class="token plain"> stop</span></div><div class="token-line" style="color:#bfc7d5"><span class [...]
@@ -38,8 +38,8 @@
 如果你需要这些功能,你可以用<a href="https://raw.githubusercontent.com/api7/apisix-build-tools/master/build-apisix-openresty.sh" target="_blank" rel="noopener noreferrer">这个脚本</a>
 构建 OpenResty。</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/zh/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 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.4 0.5 1.1t-0.5 1.2z  [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/https/index.html b/zh/docs/apisix/https/index.html
index b7531d3..a866712 100644
--- a/zh/docs/apisix/https/index.html
+++ b/zh/docs/apisix/https/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apis [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/163910ed.dd3080c1.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">if</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(130, 170, 255)">len</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">sys</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">argv</span><span class=" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 创建 Router 对象</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" s [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 测试一下</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
@@ -39,8 +39,8 @@
 你可以把它们都放入 <code>snis</code> 数组中,就像这样:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token p [...]
 的密钥交换算法,那么你可以将额外的证书和私钥(第一张证书和其私钥依然使用 <code>cert</code> 和 <code>key</code>)配置在 <code>certs</code> 和 <code>keys</code> 中。</p><ul><li><code>certs</code>:PEM 格式的 SSL 证书列表</li><li><code>keys</code>:PEM 格式的 SSL 证书私钥列表</li></ul><p><code>APISIX</code> 会将相同下标的证书和私钥配对使用,因此 <code>certs</code> 和 <code>keys</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/zh/latest/https.md" target="_blank" r [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/install-dependencies/index.html b/zh/docs/apisix/install-dependencies/index.html
index 04bc9bb..edb8ba5 100644
--- a/zh/docs/apisix/install-dependencies/index.html
+++ b/zh/docs/apisix/install-dependencies/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/755c8723.f4630986.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 添加 OpenResty 源</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> yum </span><span class="token function" style="color:rgb(130, 170, 255)">install [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 安装 OpenResty 和 编译工具</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">sudo</span><span class="token plain"> yum </span><span class="token function" style="color:rgb(130, 170, 255)">in [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 安装 LuaRocks</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> https://raw.githubusercontent.com/apache/apisix/master/utils/linux-install-luarocks [...]
@@ -48,8 +48,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 开启 etcd server</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">brew services start etcd</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 为 etcd 服务启用 TLS</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operator" style=" [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/mtls/index.html b/zh/docs/apisix/mtls/index.html
index 01c66ad..11ef137 100644
--- a/zh/docs/apisix/mtls/index.html
+++ b/zh/docs/apisix/mtls/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 TLS 双向认证 | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="d [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/c07a8fa6.a501f539.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span class="token key atrule">admin_api_mtls</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token key atrule">admin_ssl_ca_cert</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plai [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugin-develop/index.html b/zh/docs/apisix/plugin-develop/index.html
index a3f43ae..c65c4c7 100644
--- a/zh/docs/apisix/plugin-develop/index.html
+++ b/zh/docs/apisix/plugin-develop/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/e25b82d9.edff0e8c.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 可能需要在 <strong>apisix/cli/ngx_tpl.lua</strong> 文件中,对 Nginx 配置文件生成的部分,添加一些你需要的处理。但是这样容易对全局产生影响,根据现有的
 插件机制,<strong>我们不建议这样做,除非你已经对代码完全掌握</strong>。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="插件命名与配置"></a>插件命名与配置<a class="hash-link" href="#插件命名与配置" title="Direct link to heading">#</a></h2><p>给插件取一个很棒的名字,确定插件的加载优先级,然后在 <strong>conf/config-default.yaml</strong> 文件中添加上你的插件名。例如 example-plugin 这个插件,
 需要在代码里指定插件名称(名称是插件的唯一标识,不可重名),在 <strong>apisix/plugins/example-plugin.lua</strong> 文件中可以看到:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-lua codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">local plugin_name = &quot;example-plugin&quot;</span></div><div class="token-line" style="color:#bf [...]
@@ -49,8 +49,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">function _M.control_api()</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    return {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">            methods = {&quot;GET&quot;},</span></div><div class="token-line" style="color:#bfc7d5"><span c [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugin-interceptors/index.html b/zh/docs/apisix/plugin-interceptors/index.html
index 1f7452b..fc23c2a 100644
--- a/zh/docs/apisix/plugin-interceptors/index.html
+++ b/zh/docs/apisix/plugin-interceptors/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apis [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/0e9e839b.9bfaa646.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/api-breaker/index.html b/zh/docs/apisix/plugins/api-breaker/index.html
index 477ebdc..36c82ad 100644
--- a/zh/docs/apisix/plugins/api-breaker/index.html
+++ b/zh/docs/apisix/plugins/api-breaker/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/27c14716.3f5fc0c1.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 应答 500 或 503 连续 3 次,触发熔断。应答 200 连续 1 次,恢复健康。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="color:rgb(195, 232, 141)">&qu [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">. </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</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 enha [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/authz-keycloak/index.html b/zh/docs/apisix/plugins/authz-keycloak/index.html
index d7680c2..0a377e9 100644
--- a/zh/docs/apisix/plugins/authz-keycloak/index.html
+++ b/zh/docs/apisix/plugins/authz-keycloak/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/342a6d70.57f6d33e.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/basic-auth/index.html b/zh/docs/apisix/plugins/basic-auth/index.html
index 39c011f..bd95a21 100644
--- a/zh/docs/apisix/plugins/basic-auth/index.html
+++ b/zh/docs/apisix/plugins/basic-auth/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/86151fad.736279e4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/batch-requests/index.html b/zh/docs/apisix/plugins/batch-requests/index.html
index 02956f1..91ea7f6 100644
--- a/zh/docs/apisix/plugins/batch-requests/index.html
+++ b/zh/docs/apisix/plugins/batch-requests/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/6a0e174f.86647dd3.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 来保护它。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="如何启用"></a>如何启用<a class="hash-link" href="#如何启用" title="Direct link to heading">#</a></h2><p>本插件默认启用。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="如何配置"></a>如何配置<a class="hash-link" href="#如何配置" title="Direct link to heading">#</a></h2><p>默认本插件限制请求体的大小不能大于 1 MiB。这个限制可以通过 <code>apisix/admin/plugin_metadata/batch-requests</code> 来修改。</p><div class="mdxCodeBlock_3lFL"> [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/consumer-restriction/index.html b/zh/docs/apisix/plugins/consumer-restriction/index.html
index 0ad5edc..8adb4a5 100644
--- a/zh/docs/apisix/plugins/consumer-restriction/index.html
+++ b/zh/docs/apisix/plugins/consumer-restriction/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content= [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/zh/assets/js/76e7d0f9.6dce494e.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/consumers -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></d [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div>< [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/cors/index.html b/zh/docs/apisix/plugins/cors/index.html
index 8c6afcb..e4b25dd 100644
--- a/zh/docs/apisix/plugins/cors/index.html
+++ b/zh/docs/apisix/plugins/cors/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/8cc2e0eb.c86b60fa.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 使用 <code>**</code> 时要充分理解它引入了一些安全隐患,比如 CSRF,所以确保这样的安全等级符合自己预期再使用。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="如何启用"></a>如何启用<a class="hash-link" href="#如何启用" title="Direct link to heading">#</a></h2><p>创建 <code>Route</code> 或 <code>Service</code> 对象,并配置 <code>cors</code> 插件。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="co [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/dubbo-proxy/index.html b/zh/docs/apisix/plugins/dubbo-proxy/index.html
index fd857d4..c9e235a 100644
--- a/zh/docs/apisix/plugins/dubbo-proxy/index.html
+++ b/zh/docs/apisix/plugins/dubbo-proxy/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,15 +26,15 @@
 <link rel="preload" href="/zh/assets/js/8cf41c7e.9460ac74.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 在 <code>APISIX</code> 中为了实现使从 <code>http</code> 代理到 <code>dubbo</code>,我们在<code>Tengine</code> 的 <code>mod_dubbo</code> 基础上对 <code>dubbo</code> 模块做了改进。 所有的修改已经提交给 <code>Tengine</code>,但是还未合并到最新的 <code>release</code> 版本中(Tengine-2.3.2) 。所以目前 <code>Tengine</code> 自身是不支持此特性的。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="运行时属性"></a>运行时属性<a class="hash-link" href="#运行时属性" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></div> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">blahblah # &quot;body&quot; will be the body</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 enhancedAnchor_2LWZ" id="禁用插件"></a>禁用插件<a class="hash-link" href="#禁用插件" title="Direct link to heading">#</a></h2><p>当你想在某个路由或服务中禁用 <code>dubbo-proxy</code> 插件,非常简单,你可以直接删除插件配置中 [...]
 你需要在 <code>config.yaml</code> 中注释掉以下内容:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">plugins</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-l [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/echo/index.html b/zh/docs/apisix/plugins/echo/index.html
index e758ece..9a6f49b 100644
--- a/zh/docs/apisix/plugins/echo/index.html
+++ b/zh/docs/apisix/plugins/echo/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisi [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/d3236fe2.5398a2d1.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/error-log-logger/index.html b/zh/docs/apisix/plugins/error-log-logger/index.html
index d06a433..2eda73b 100644
--- a/zh/docs/apisix/plugins/error-log-logger/index.html
+++ b/zh/docs/apisix/plugins/error-log-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/06c82324.3ad6fff2.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <a href="/zh/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="属性列表"></a>属性列表<a class="hash-link" href="#属性列表" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>必须</td><td></td><td></td><td>TCP 服务的IP地址或主机名</td></tr><tr><td>port</td><td>integer</td><td>必须</td><td></td><td>[0,.. [...]
 下面是一个在<code>conf/config.yaml</code> 中添加插件信息的例子:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">plugins</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain">                         [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/fault-injection/index.html b/zh/docs/apisix/plugins/fault-injection/index.html
index 8d523a6..df07e6d 100644
--- a/zh/docs/apisix/plugins/fault-injection/index.html
+++ b/zh/docs/apisix/plugins/fault-injection/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/f35343e1.525fc5a4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Fault Injection</span><span class="token operator" style="color:rgb(137, 221, 255)">!</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 返回<code>200</code>并且响应<code>body</code>为<code>Fault Injection!</code>,表示该插件已启用。</p></blockquote><p>示例2:为特定路由启用 <code>fault-injection</code> 插件,并指定 <code>delay</cod [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">real    0m3.034s</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">user    0m0.007s</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">sys     0m0.010s</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>示例3:为特定路由启用 <code>fault-injection</code> 插件,并指定 abort  [...]
@@ -49,8 +49,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Fault Injection</span><span class="token operator" style="color:rgb(137, 221, 255)">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>3、请求参数与请求头都匹配失败,不执行故障注入:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class= [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="禁用插件"></a>禁用插件<a class="hash-link" href="#禁用插件" title="Direct link to heading">#</a></h3><p>移除插件配置中相应的 JSON 配置可立即禁用该插件,无需重启服务:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_h [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/grpc-transcode/index.html b/zh/docs/apisix/plugins/grpc-transcode/index.html
index e41305c..87c8393 100644
--- a/zh/docs/apisix/plugins/grpc-transcode/index.html
+++ b/zh/docs/apisix/plugins/grpc-transcode/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/0b8428f5.fc368fa0.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;message&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;Hello world&quot;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</spa [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;workflowKey&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string"  [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/hmac-auth/index.html b/zh/docs/apisix/plugins/hmac-auth/index.html
index a8ce2c6..d8dc831 100644
--- a/zh/docs/apisix/plugins/hmac-auth/index.html
+++ b/zh/docs/apisix/plugins/hmac-auth/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/d4f121db.e9767951.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">secret </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(130, 170, 255)">bytes</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;my-secret-key&#x27;</span><span class="token punctuation" style="color:rgb(19 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token builtin" style="color:rgb(130, 170, 255)">hash</span><span class="token plain"> </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> hmac</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">new</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><spa [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># to lowercase base64</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">print</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">base64</sp [...]
@@ -36,8 +36,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token operator" style="color:rgb(137, 221, 255)">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:rgb(137, 221, 255)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token op [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token operator" style="color:rgb(137, 221, 255)">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:rgb(137, 221, 255)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token op [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/http-logger/index.html b/zh/docs/apisix/plugins/http-logger/index.html
index e8b74a7..d796ff2 100644
--- a/zh/docs/apisix/plugins/http-logger/index.html
+++ b/zh/docs/apisix/plugins/http-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/f5c513a5.fed93f67.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/index.html b/zh/docs/apisix/plugins/index.html
index b141cf9..0a04d90 100644
--- a/zh/docs/apisix/plugins/index.html
+++ b/zh/docs/apisix/plugins/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisix- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/15a0356b.52d6489d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 禁用了该插件,在执行路由规则的时候会跳过这个插件。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="stand-alone-模式下的热加载"></a>stand-alone 模式下的热加载<a class="hash-link" href="#stand-alone-模式下的热加载" title="Direct link to heading">#</a></h2><p>参考 <a href="/zh/docs/apisix/stand-alone">stand alone 模式</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/zh/latest/plugins.md" target="_b [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/ip-restriction/index.html b/zh/docs/apisix/plugins/ip-restriction/index.html
index 20f7169..d20f233 100644
--- a/zh/docs/apisix/plugins/ip-restriction/index.html
+++ b/zh/docs/apisix/plugins/ip-restriction/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/04e190df.6c9eb28d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/jwt-auth/index.html b/zh/docs/apisix/plugins/jwt-auth/index.html
index 3cef4f4..b01988d 100644
--- a/zh/docs/apisix/plugins/jwt-auth/index.html
+++ b/zh/docs/apisix/plugins/jwt-auth/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-a [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/037099b5.0c9668f2.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 来保护它。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="如何启用"></a>如何启用<a class="hash-link" href="#如何启用" title="Direct link to heading">#</a></h2><ol><li>创建一个 consumer 对象,并设置插件 <code>jwt-auth</code> 的值。</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-lin [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/jwt-auth-1.png"></p><p>然后在 consumer 页面中添加 jwt-auth 插件:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/jwt-auth-2.png"></p><ol start="2"><li>创建 Route 或 Service 对象,并开启 <code>jwt-auth</code> 插件。</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" [...]
@@ -36,8 +36,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token operator" style="color:rgb(137, 221, 255)">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:rgb(137, 221, 255)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token op [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token operator" style="color:rgb(137, 221, 255)">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:rgb(137, 221, 255)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token op [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/kafka-logger/index.html b/zh/docs/apisix/plugins/kafka-logger/index.html
index 53940f9..9239e37 100644
--- a/zh/docs/apisix/plugins/kafka-logger/index.html
+++ b/zh/docs/apisix/plugins/kafka-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-do [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/zh/assets/js/cfdc22b3.5409e79f.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <a href="/zh/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="属性"></a>属性<a class="hash-link" href="#属性" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr></thead><tbody><tr><td>broker_list</td><td>object</td><td>必须</td><td></td><td></td><td>要推送的 kafka 的 broker 列表。</td></tr><tr><td>kafka_topic</td><td>string</td><td>必须</td><td [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">abcdef</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></li></ul><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="工作原理"></a>工作原理<a class="hash-link" href="#工作原理" title="Direct link to heading">#</a></h2><p>消息将首先写入缓冲区。
 当缓冲区超过<code>batch_max_size</code>时,它将发送到 kafka 服务器,
 或每个<code>buffer_duration</code>刷新缓冲区。</p><p>如果成功,则返回 <code>true</code>。
 如果出现错误,则返回 <code>nil</code>,并带有描述错误的字符串(<code>buffer overflow</code>)。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="broker-列表"></a>Broker 列表<a class="hash-link" href="#broker-列表" title="Direct link to heading">#</a></h3><p>插件支持一次推送到多个 Broker,如下配置:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;bac [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/key-auth/index.html b/zh/docs/apisix/plugins/key-auth/index.html
index 95330fb..bf8076f 100644
--- a/zh/docs/apisix/plugins/key-auth/index.html
+++ b/zh/docs/apisix/plugins/key-auth/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-a [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/zh/assets/js/dec1c301.e80983ae.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/key-auth-1.png"></p><p>然后在 consumer 页面中添加 key-auth 插件:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/key-auth-2.png"></p><ol start="2"><li>创建 route 或 service 对象,并开启 <code>key-auth</code> 插件。</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" st [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/limit-conn/index.html b/zh/docs/apisix/plugins/limit-conn/index.html
index 769b120..da9d211 100644
--- a/zh/docs/apisix/plugins/limit-conn/index.html
+++ b/zh/docs/apisix/plugins/limit-conn/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/zh/assets/js/5e34b5b2.7abae427.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/limit-conn-1.png"></p><p>然后在 route 页面中添加 limit-conn 插件:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/limit-conn-2.png"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="test-plugin"></a>test plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h4><p>上面启用的插件的参数表示只允许一个并发请求。 当收到多个并发请求时,将直接返回 503 拒绝请求。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 th [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token number" style="color:rgb(247, 140, 108)">20</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></ [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/limit-count/index.html b/zh/docs/apisix/plugins/limit-count/index.html
index 898136f..3800246 100644
--- a/zh/docs/apisix/plugins/limit-count/index.html
+++ b/zh/docs/apisix/plugins/limit-count/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,15 +26,15 @@
 <link rel="preload" href="/zh/assets/js/5b5df5a4.42cde3e3.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 在指定的时间范围内,限制总的请求个数。并且在 HTTP 响应头中返回剩余可以请求的个数。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="参数"></a>参数<a class="hash-link" href="#参数" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr></thead><tbody><tr><td>count</td><td>integer</td><td>必须</td><td></td><td>count &gt; 0</td><td>指定时间窗口内的请求数量阈值</td></tr><tr><td>time_window</td><td>integer</td><td>必须</td><td></td><td>time_win [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/limit-count-1.png" alt="添加路由"></p><p>然后在 route 页面中添加 limit-count 插件:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/limit-count-2.png" alt="添加插件"></p><p>如果你需要一个集群级别的流量控制,我们可以借助 redis server 来完成。不同的 APISIX 节点之间将共享流量限速结果,实现集群流量限速。</p><p>如果启用单 redis 策略,请看下面例子:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" styl [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:rgb(137, 221, 255)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token plain"> [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/limit-req/index.html b/zh/docs/apisix/plugins/limit-req/index.html
index 4073727..db5fdec 100644
--- a/zh/docs/apisix/plugins/limit-req/index.html
+++ b/zh/docs/apisix/plugins/limit-req/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/3f141e52.097b4a16.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&lt;</span><span class="token tag" style="color:rgb(255, 85, 114)">html</span><span class="token tag punctuation" style="color:rgb(199, 146, 234)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token tag punctuation" style="color:rgb(19 [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/log-rotate/index.html b/zh/docs/apisix/plugins/log-rotate/index.html
index 8579cbb..90ecc88 100644
--- a/zh/docs/apisix/plugins/log-rotate/index.html
+++ b/zh/docs/apisix/plugins/log-rotate/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/bb750539.6e20c2d2.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 通过配置参数可以设置每间隔多久切分一次日志,以及最近保留多少份日志(超过指定数量后,自动删除老文件)。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="参数"></a>参数<a class="hash-link" href="#参数" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr></thead><tbody><tr><td>interval</td><td>integer</td><td>必须</td><td>60 * 60</td><td></td><td>每间隔多长时间切分一次日志,秒为单位</td></tr><tr><td>max_kept</td><td>integer</td><td>必须</td><td>24 * 7</td> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">plugin_attr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span class="token key atrule">log-rotate</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></ [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/mqtt-proxy/index.html b/zh/docs/apisix/plugins/mqtt-proxy/index.html
index 2b2c9d4..f35815e 100644
--- a/zh/docs/apisix/plugins/mqtt-proxy/index.html
+++ b/zh/docs/apisix/plugins/mqtt-proxy/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/eadd53fd.7a2fcec6.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/node-status/index.html b/zh/docs/apisix/plugins/node-status/index.html
index f893640..c0e2dc3 100644
--- a/zh/docs/apisix/plugins/node-status/index.html
+++ b/zh/docs/apisix/plugins/node-status/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/433f16f3.d4929b92.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">{&quot;status&quot;:{&quot;total&quot;:&quot;23&quot;,&quot;waiting&quot;:&quot;0&quot;,&quot;accepted&quot;:&quot;22&quot;,&quot;writing&quot;:&quot;1&quot;,&quot;handled&quot;:&quot;22&quot;,&quot;active&quot;:&quot;1&quot;,&quot;reading&quot;:&quot;0&quot;},&quot;id&quot;:&quot;6790a064-8f61-44ba-a6d3-5df42f2b1bb3&quot;}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/openid-connect/index.html b/zh/docs/apisix/plugins/openid-connect/index.html
index 5ed1dcf..108047a 100644
--- a/zh/docs/apisix/plugins/openid-connect/index.html
+++ b/zh/docs/apisix/plugins/openid-connect/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/zh/assets/js/ac9cf38b.8a6d273a.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 前提条件是,您应该在身份服务器中创建受信任的客户端,并生成用于自省的有效令牌(JWT)。
 下图显示了通过网关进行令牌自省的示例(成功)流程。</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/oauth-1.png" alt="token introspection"></p><p>以下是 curl 命令,用于将插件启用到外部服务。
 通过自省请求标头中提供的令牌,此路由将保护 <a href="https://httpbin.org/get%EF%BC%88echo" target="_blank" rel="noopener noreferrer">https://httpbin.org/get(echo</a> 服务)。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl< [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/prometheus/index.html b/zh/docs/apisix/plugins/prometheus/index.html
index 0d85045..ed5dcac 100644
--- a/zh/docs/apisix/plugins/prometheus/index.html
+++ b/zh/docs/apisix/plugins/prometheus/index.html
@@ -16,27 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/d73fca9b.22e788e5.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/ece6e754.3e69baa5.js" as="script">
+<link rel="preload" href="/zh/assets/js/ece6e754.13dea1a0.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
-来保护它。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="如何开启插件"></a>如何开启插件<a class="hash-link" href="#如何开启插件" title="Direct link to heading">#</a></h2><p><code>prometheus</code> 插件用空{}就可以开启了,他没有任何的选项。</p><p>例子如下:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="toke [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+默认情况下,这个地址是 <code>127.0.0.1:9091</code>。你可以在 <code>conf/config.yaml</code> 里面修改它,比如:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">plugin_attr:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  p [...]
+来保护它。</strong></p><p>如果你依然想要这样的行为,你可以这么配置:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">plugin_attr:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  prometheus:</span></div><div class="token-l [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/d73fca9b.22e788e5.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/ece6e754.3e69baa5.js"></script>
+<script src="/zh/assets/js/ece6e754.13dea1a0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/plugins/proxy-cache/index.html b/zh/docs/apisix/plugins/proxy-cache/index.html
index d3dfdb4..00663fb 100644
--- a/zh/docs/apisix/plugins/proxy-cache/index.html
+++ b/zh/docs/apisix/plugins/proxy-cache/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/zh/assets/js/2eb8f890.4393b960.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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 返回<code>200</code>并且响应头中包含 <code>Apisix-Cache-Status</code>,表示该插件已启用。</p></blockquote><p>2、验证数据是否被缓存,再次请求上边的地址:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_2 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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>响应头  Apisix-Cache-Status 值变为了 HIT,说明数据已经被缓存</p></blockquote><p>示例二:自定义 cache_zone 参数为 <code>disk_cache_two</code></p><p>1、在 <code>conf/config.yaml</code> 文件中的指定缓存区域等信息:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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 返回<code>200</code>并且响应头中包含 <code>Apisix-Cache-Status</code>,表示该插件已启用。</p></blockquote><p>3、验证数据是否被缓存,再次请求上面的地址:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_2 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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>响应头 <code>Apisix-Cache-Status</code> 值变为了 HIT,说明数据已经被缓存</p></blockquote><p>示例3:指定 cache_zone 为 <code>invalid_disk_cache</code> 与 <code>conf/config.yaml</code> 文件中指定的缓存区域 <code>disk_cache_one</code> 不一致。</p><div class="mdxCodeBlock_3lFL"><div class="codeBl [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:rgb(137, 221, 255)">&gt;</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token operator" style="color:rgb(137, 221, 255)">&lt;</span><span class="token plain"> [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/proxy-mirror/index.html b/zh/docs/apisix/plugins/proxy-mirror/index.html
index 4b7b19b..3461d0a 100644
--- a/zh/docs/apisix/plugins/proxy-mirror/index.html
+++ b/zh/docs/apisix/plugins/proxy-mirror/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-do [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/3c3e0368.09dd1230.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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>由于指定的 mirror 地址是127.0.0.1:9797,所以验证此插件是否已经正常工作需要在端口为9797的服务上确认,例如,我们可以通过 python 启动一个简单的 server: python -m SimpleHTTPServer 9797。</p></blockquote><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="禁用插件"></a>禁用插件<a class="h [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/proxy-rewrite/index.html b/zh/docs/apisix/plugins/proxy-rewrite/index.html
index a6e2a2d..b64324f 100644
--- a/zh/docs/apisix/plugins/proxy-rewrite/index.html
+++ b/zh/docs/apisix/plugins/proxy-rewrite/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/03de1839.e859dc25.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/redirect/index.html b/zh/docs/apisix/plugins/redirect/index.html
index e937efd..943d616 100644
--- a/zh/docs/apisix/plugins/redirect/index.html
+++ b/zh/docs/apisix/plugins/redirect/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-a [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/fc9a947c.a6cc6555.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</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>我们可以检查响应码和响应头中的 <code>Location</code> 参数,它表示该插件已启用。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code languag [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">下面是一个实现 http 到 https 跳转的示例:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">```shell</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">curl http://127.0.0.1:9080/apisix/admin/routes/1  -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -d &#x27;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/referer-restriction/index.html b/zh/docs/apisix/plugins/referer-restriction/index.html
index e9c73ad..966ce3a 100644
--- a/zh/docs/apisix/plugins/referer-restriction/index.html
+++ b/zh/docs/apisix/plugins/referer-restriction/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content=" [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/9cab144f.9b1e8187.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/request-id/index.html b/zh/docs/apisix/plugins/request-id/index.html
index 261ec5b..e0c9097 100644
--- a/zh/docs/apisix/plugins/request-id/index.html
+++ b/zh/docs/apisix/plugins/request-id/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/769df5e0.00ee75c4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/request-validation/index.html b/zh/docs/apisix/plugins/request-validation/index.html
index cc39137..b6f9578 100644
--- a/zh/docs/apisix/plugins/request-validation/index.html
+++ b/zh/docs/apisix/plugins/request-validation/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="d [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/0b43ab26.ba316d6c.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/response-rewrite/index.html b/zh/docs/apisix/plugins/response-rewrite/index.html
index f19d51f..0615923 100644
--- a/zh/docs/apisix/plugins/response-rewrite/index.html
+++ b/zh/docs/apisix/plugins/response-rewrite/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/zh/assets/js/4ae58179.6a257e53.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 1、可以设置 <code>Access-Control-Allow-*</code> 等 header 信息,来实现 CORS (跨域资源共享)的功能。
 2、另外也可以通过配置 status_code 和 header 里面的 Location 来实现重定向,当然如果只是需要重定向功能,最好使用 <a href="/zh/docs/apisix/plugins/redirect">redirect</a> 插件。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="配置参数"></a>配置参数<a class="hash-link" href="#配置参数" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr></thead><tbody><tr><td>status_code</td><td>integer</td><td>可选</td><td></td><td>[200, 598]</td><td [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;code&quot;</span><span class="token builtin class-name" style="color:rgb(255, 203, 107)">:</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;ok&quot;</span><span class="token plain">,</span><span class="token string" style="color:rgb(195,  [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/server-info/index.html b/zh/docs/apisix/plugins/server-info/index.html
index 1d9f9a5..639c862 100644
--- a/zh/docs/apisix/plugins/server-info/index.html
+++ b/zh/docs/apisix/plugins/server-info/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/4b3176f7.9328ae75.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 小时:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">plugin_attr</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/serverless/index.html b/zh/docs/apisix/plugins/serverless/index.html
index 58a323f..ae3a4d0 100644
--- a/zh/docs/apisix/plugins/serverless/index.html
+++ b/zh/docs/apisix/plugins/serverless/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/d73fca9b.22e788e5.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/e00a615f.6c1d4d99.js" as="script">
+<link rel="preload" href="/zh/assets/js/e00a615f.92fc0d7b.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
-前者会在指定阶段的最开始运行,后者是在指定阶段的最后运行。</p><p>这两个插件接收的参数都是一样的。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr></thead><tbody><tr><td>phase</td><td>string</td><td>可选</td><td>[&quot;access&quot;]</td><td>[&quot;rewrite&quot;, &quot;access&quot;, &quot;header_filter&quot [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+前者会在指定阶段的最开始运行,后者是在指定阶段的最后运行。</p><p>这两个插件接收的参数都是一样的。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr></thead><tbody><tr><td>phase</td><td>string</td><td>可选</td><td>[&quot;access&quot;]</td><td>[&quot;rewrite&quot;, &quot;access&quot;, &quot;header_filter&quot [...]
 表示指定的函数已经生效。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="移除插件"></a>移除插件<a class="hash-link" href="#移除插件" title="Direct link to heading">#</a></h3><p>当你想去掉插件的时候,很简单,在插件的配置中把对应的 json 配置删除即可,无须重启服务,即刻生效:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/d73fca9b.22e788e5.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/e00a615f.6c1d4d99.js"></script>
+<script src="/zh/assets/js/e00a615f.92fc0d7b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/plugins/skywalking/index.html b/zh/docs/apisix/plugins/skywalking/index.html
index 1a70bcd..1505eeb 100644
--- a/zh/docs/apisix/plugins/skywalking/index.html
+++ b/zh/docs/apisix/plugins/skywalking/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/f9dabc71.618f3253.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 在浏览器里面输入 <a href="http://10.110.149.175:8080%EF%BC%8C%E5%87%BA%E7%8E%B0%E4%BA%86%E5%A6%82%E4%B8%8B%E7%95%8C%E9%9D%A2%EF%BC%8C%E5%88%99%E8%A1%A8%E7%A4%BA%E5%AE%89%E8%A3%85%E6%88%90%E5%8A%9F" target="_blank" rel="noopener noreferrer">http://10.110.149.175:8080,出现了如下界面,则表示安装成功</a></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-3.png" alt="plugin_skywalking"></p></li></ol></li><li><p>测试示例:</p><ul><li><p>通过访问apisix,访问上游服务</p><div cl [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-4.png" alt="plugin_skywalking">\
 可以看到服务追踪图\
@@ -38,8 +38,8 @@
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>启动服务的时候,需要配置skywalking agent,
 修改agent/config/agent.config中的配置</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">agent.service_name</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">yourservername</span></div><div clas [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/sls-logger/index.html b/zh/docs/apisix/plugins/sls-logger/index.html
index 277a38b..02bb07c 100644
--- a/zh/docs/apisix/plugins/sls-logger/index.html
+++ b/zh/docs/apisix/plugins/sls-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/89015cf6.c8b3d010.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <a href="/zh/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="属性列表"></a>属性列表<a class="hash-link" href="#属性列表" title="Direct link to heading">#</a></h2><table><thead><tr><th>属性名称</th><th>必选项</th><th>描述</th></tr></thead><tbody><tr><td>host</td><td>必要的</td><td>TCP 服务的IP地址或主机名,请参考:<a href="https://help.aliyun.com/document_detail/29008.html?spm=a2c4g.11186623.2.14.49301b4793uX0z#reference-wgx-pwq-zdb" target="_b [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/sls-logger-1.png" title="阿里云日志服务预览"></li></ul><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="禁用插件"></a>禁用插件<a class="hash-link" href="#禁用插件" title="Direct link to heading">#</a></h2><p>想要禁用“sls-logger”插件,是非常简单的,将对应的插件配置从json配置删除,就会立即生效,不需要重新启动服务:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell co [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/syslog/index.html b/zh/docs/apisix/plugins/syslog/index.html
index 8640617..689d6ed 100644
--- a/zh/docs/apisix/plugins/syslog/index.html
+++ b/zh/docs/apisix/plugins/syslog/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/1b9ff391.933e5d14.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/tcp-logger/index.html b/zh/docs/apisix/plugins/tcp-logger/index.html
index 4a65579..f302e02 100644
--- a/zh/docs/apisix/plugins/tcp-logger/index.html
+++ b/zh/docs/apisix/plugins/tcp-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/adc7b4c4.bc3fff1a.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <a href="/zh/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="属性列表"></a>属性列表<a class="hash-link" href="#属性列表" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>必须</td><td></td><td></td><td>TCP 服务的IP地址或主机名</td></tr><tr><td>port</td><td>integer</td><td>必须</td><td></td><td>[0,.. [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/traffic-split/index.html b/zh/docs/apisix/plugins/traffic-split/index.html
index 558d544..7269795 100644
--- a/zh/docs/apisix/plugins/traffic-split/index.html
+++ b/zh/docs/apisix/plugins/traffic-split/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/690ea98f.7a91f9b1.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 service_name、discovery_type、checks、retries、desc、scheme、labels、create_time 和 update_time。但是你可以通过 <code>weighted_upstreams.upstream_id</code> 绑定 <code>upstream</code> 对象来实现他们。</p><p>traffic-split 插件主要由 <code>match</code> 和 <code>weighted_upstreams</code> 两部分组成,<code>match</code> 是自定义的条件规则,<code>weighted_upstreams</code> 是 upstream 的配置信息。如果配置 <code>match</code> 和 <code>weighted_upstreams</code> 信息,那么在 <code>match</code> 规则校验通过后,会根据 <code>weighted_upstreams</code> 中的 <code>weight</code> 值;引导 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello </span><span class="token number" style="color:rgb(247, 140, 108)">1980</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/index.html -i</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span></div><div class="token-line" style="color:#bfc7d5"><spa [...]
@@ -44,8 +44,8 @@ service_name、discovery_type、checks、retries、desc、scheme、labels、crea
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello </span><span class="token number" style="color:rgb(247, 140, 108)">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>在请求5次后,3次命中 <code>1981</code> 端口的服务,2次命中 <code>1980</code> 端口的服务。</p><blockquote><p>3、两个 <code>vars</code> 的表达式校验失败(缺少 <code>name</code> 和 <code>name2</code> 请求参数),<code>match</code> 规则校验失败, 响应都为 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello </span><span class="token number" style="color:rgb(247, 140, 108)">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 enhancedAnchor_2LWZ" id="禁用插件"></a>禁用插件<a class="hash-link" href="#禁用插件" title="Direct link to heading">#</a></h2><p>当你想去掉 traffic-split 插件的时候,很 [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/udp-logger/index.html b/zh/docs/apisix/plugins/udp-logger/index.html
index bc50b6d..6e023ef 100644
--- a/zh/docs/apisix/plugins/udp-logger/index.html
+++ b/zh/docs/apisix/plugins/udp-logger/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/23d9fbcb.0c07ab06.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <a href="/zh/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="属性列表"></a>属性列表<a class="hash-link" href="#属性列表" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>必须</td><td></td><td></td><td>UDP 服务的 IP 地址或主机名</td></tr><tr><td>port</td><td>integer</td><td>必须</td><td></td><td>[0, [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/uri-blocker/index.html b/zh/docs/apisix/plugins/uri-blocker/index.html
index dc3f532..8a93754 100644
--- a/zh/docs/apisix/plugins/uri-blocker/index.html
+++ b/zh/docs/apisix/plugins/uri-blocker/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/701a45ac.2259f34e.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token plain">. </span><span class="token punctuation" style="color:rgb(199, 146, 234)">..</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 enha [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/wolf-rbac/index.html b/zh/docs/apisix/plugins/wolf-rbac/index.html
index 6caea04..226844c 100644
--- a/zh/docs/apisix/plugins/wolf-rbac/index.html
+++ b/zh/docs/apisix/plugins/wolf-rbac/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/c3e7e417.f364828c.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 rbac 功能由<a href="https://github.com/iGeeky/wolf" target="_blank" rel="noopener noreferrer">wolf</a>提供, 有关 <code>wolf</code> 的更多信息, 请参考<a href="https://github.com/iGeeky/wolf" target="_blank" rel="noopener noreferrer">wolf 文档</a>。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="属性"></a>属性<a class="hash-link" href="#属性" title="Direct link to heading">#</a></h2><table><thead><tr><th>名称</th><th>类型</th><th>必选项</th><th>默认值</th><th>有效值</th><th>描述</th></tr></the [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/wolf-rbac-1.png"></p><p>然后在 consumer 页面中添加 wolf-rbac 插件:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/wolf-rbac-2.png"></p><p>注意: 上面填写的 <code>appid</code> 需要在 wolf 控制台中已经存在的.</p><ol start="2"><li>创建 Route 或 Service 对象,并开启 <code>wolf-rbac</code> 插件。</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token [...]
@@ -49,8 +49,8 @@ rbac 功能由<a href="https://github.com/iGeeky/wolf" target="_blank" rel="noop
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;message&quot;</span><span class="token builtin class-name" st [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/plugins/zipkin/index.html b/zh/docs/apisix/plugins/zipkin/index.html
index d30a984..9784437 100644
--- a/zh/docs/apisix/plugins/zipkin/index.html
+++ b/zh/docs/apisix/plugins/zipkin/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-api [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/41be8d1f.8f79ae5f.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    thisip, _ := GetLocalIP()</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    host := fmt.Sprintf(&quot;%s:%d&quot;, thisip, port)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    endpoint, _ := zipkin.NewEndpoint(serviceName, host)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    // set-up our sampling strategy</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    s [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">func main(){</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    r := gin.Default()</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
@@ -35,8 +35,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    r.Use(func(c *gin.Context) {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></div><div class="token-line" style="color:#bfc7d5"><s [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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/zh/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/profile/index.html b/zh/docs/apisix/profile/index.html
index eb4efc6..db5723f 100644
--- a/zh/docs/apisix/profile/index.html
+++ b/zh/docs/apisix/profile/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/1617d371.737161cb.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/router-radixtree/index.html b/zh/docs/apisix/router-radixtree/index.html
index 51adeec..91d3521 100644
--- a/zh/docs/apisix/router-radixtree/index.html
+++ b/zh/docs/apisix/router-radixtree/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/d73fca9b.22e788e5.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/2f1ee7b9.6a2858a1.js" as="script">
+<link rel="preload" href="/zh/assets/js/2f1ee7b9.5c3b7e99.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
-<code>/blog/bar/b</code>, <code>/blog/bar/c/d/e</code>, <code>/blog/bar</code> etc.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="3-match-priority"></a>3. Match priority<a class="hash-link" href="#3-match-priority" title="Direct link to heading">#</a></h4><p>Full match -&gt; Deep prefix matching.</p><p>Here are the rules:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBloc [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<code>/blog/bar/b</code>, <code>/blog/bar/c/d/e</code>, <code>/blog/bar</code> etc.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="3-match-priority"></a>3. Match priority<a class="hash-link" href="#3-match-priority" title="Direct link to heading">#</a></h4><p>Full match -&gt; Deep prefix matching.</p><p>Here are the rules:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-undefined codeBloc [...]
 here is an simple example:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span [...]
 data from the request body. This limitation is configured via:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">graphql</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></ [...]
 </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/zh/latest/router-radixtree.md" target="_blank" rel="noreferrer noopener"><svg fill= [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/d73fca9b.22e788e5.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/2f1ee7b9.6a2858a1.js"></script>
+<script src="/zh/assets/js/2f1ee7b9.5c3b7e99.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/stand-alone/index.html b/zh/docs/apisix/stand-alone/index.html
index c54e5d9..69a5a65 100644
--- a/zh/docs/apisix/stand-alone/index.html
+++ b/zh/docs/apisix/stand-alone/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,14 +26,14 @@
 <link rel="preload" href="/zh/assets/js/30c882a5.41df7f15.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 (默认 1 秒钟),都会尝试检测文件内容是否有更新,如果有更新则重新加载规则。</p><p><em>注意</em>:重新加载规则并更新时,均是内存热更新,不会有工作进程的替换过程,是个热更新过程。</p><p>通过设置 <code>conf/config.yaml</code> 中的 <code>apisix.config_center</code> 选项为 <code>yaml</code> 表示启
 用 Stand-alone 模式。</p><p>参考下面示例:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apisix</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" styl [...]
 Admin API 将不再被允许使用。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="如何配置规则"></a>如何配置规则<a class="hash-link" href="#如何配置规则" title="Direct link to heading">#</a></h3><p>所有的路由规则均存放在 <code>conf/apisix.yaml</code> 这一个文件中,APISIX 会以每秒(默认)频率检查文件是否有变化,如果有变化,则会检查文件末尾是否能找到 <code>#END</code> 结尾,找到后则重新加载文件更新到内存。</p><p>下面就是个最小的示例:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-s [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/apisix/stream-proxy/index.html b/zh/docs/apisix/stream-proxy/index.html
index 4793226..3c3eefd 100644
--- a/zh/docs/apisix/stream-proxy/index.html
+++ b/zh/docs/apisix/stream-proxy/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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/UDP 动态代理 | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-do [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/a29d4bbf.50d7454a.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 更多用例,请参照 <a href="/t/stream-node/sanity.t">test case</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="更多限制选项"></a>更多限制选项<a class="hash-link" href="#更多限制选项" title="Direct link to heading">#</a></h2><p>我们可以添加更多的选项来匹配 route ,例如</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/FAQ/index.html b/zh/docs/dashboard/FAQ/index.html
index 4023cfa..ec9f160 100644
--- a/zh/docs/dashboard/FAQ/index.html
+++ b/zh/docs/dashboard/FAQ/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisix [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/3316b9c0.78adebc2.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 Refer to the beginning in:
 <a href="https://apisix.apache.org/docs/apisix/control-api" target="_blank" rel="noopener noreferrer">https://apisix.apache.org/docs/apisix/control-api</a></p></li><li><p>Execute the following commands to export jsonchema on your APISIX server (if it is configured for non-local access, it does not need to be executed on your APISIX server, and the access IP and port should be modified accordingly)</p></li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabinde [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/I18N_USER_GUIDE/index.html b/zh/docs/dashboard/I18N_USER_GUIDE/index.html
index d86c876..2e2e282 100644
--- a/zh/docs/dashboard/I18N_USER_GUIDE/index.html
+++ b/zh/docs/dashboard/I18N_USER_GUIDE/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">i18n User Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/679cfa79.ed79a5ce.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/IGNORE_DOC/index.html b/zh/docs/dashboard/IGNORE_DOC/index.html
index d59abd8..d97578f 100644
--- a/zh/docs/dashboard/IGNORE_DOC/index.html
+++ b/zh/docs/dashboard/IGNORE_DOC/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/3393d167.1c6727b4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html b/zh/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html
index 7052bd2..c7f8285 100644
--- a/zh/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html
+++ b/zh/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Import OpenAPI Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content= [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/95244615.6b407c51.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">      </span><span class="token key atrule">requestBody</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">        </span><span class="token key atrule">content</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"></ [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/USER_GUIDE/index.html b/zh/docs/dashboard/USER_GUIDE/index.html
index edafe99..4b6e499 100644
--- a/zh/docs/dashboard/USER_GUIDE/index.html
+++ b/zh/docs/dashboard/USER_GUIDE/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">User Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/9d971112.b830c62d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/api/api/index.html b/zh/docs/dashboard/api/api/index.html
index e9e6865..3b945b0 100644
--- a/zh/docs/dashboard/api/api/index.html
+++ b/zh/docs/dashboard/api/api/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 doc of Manager API. | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" conte [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/034277d8.32b9b06e.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/back-end-tests/index.html b/zh/docs/dashboard/back-end-tests/index.html
index e76e344..2ead969 100644
--- a/zh/docs/dashboard/back-end-tests/index.html
+++ b/zh/docs/dashboard/back-end-tests/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Backend Tests | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/da9aeeeb.308b7413.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  # GitHub E2E test create route example</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"> {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">     &quot;uris&quot;: [&quot;/test-test&quot;],</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">     &quot;name&quot;: &quot;route_all&quot;,</span></div><div [...]
 (Only if you have altered/added any core functionalities in <code>manager-api</code>, for simply adding/deleting a test case/file, rebuilding is not required).</p></li></ol><p>** For ease of access and to avoid the repetitive hassle for setting up the required configurations, we have provided a <code>setup.sh</code> script
 which is inside <code>api/test/docker</code> directory. You can directly run, delete and build services along with update and revert <code>conf.yaml</code> through the script.
@@ -36,8 +36,8 @@ high expressiveness which makes reading and writing tests a pleasure.</p><ul><li
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">         table</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token function" style="color:rgb(130, 170, 255)">DescribeTable</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;&lt;logical group 2&gt;&quot;</span><span class="token punctuation" style="color:rgb(199, 14 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">      </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></li><li><p>FYI, internally ginkgo reduces each table entries to <code>It</code> block and run all the <code>It</code> bloc [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/deploy-with-docker/index.html b/zh/docs/dashboard/deploy-with-docker/index.html
index d8ca77e..0d752ab 100644
--- a/zh/docs/dashboard/deploy-with-docker/index.html
+++ b/zh/docs/dashboard/deploy-with-docker/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy with Docker | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="d [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,13 +26,13 @@
 <link rel="preload" href="/zh/assets/js/81f18807.73a5bd5a.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># For users in mainland China, the `ENABLE_PROXY` parameter can be provided to speed up module downloads.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ docker build -t apisix-dashboard:$tag . --build-arg ENABLE_PROXY=true</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># If you want to use the latest codes to build, you can specify the `APISIX_DASHBOARD_VERSION` parameter to `master`.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># This parameter can also be specified as branch name of a specific version, such as `v2.1.1`.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ docker build -t apisix-d [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/deploy-with-rpm/index.html b/zh/docs/dashboard/deploy-with-rpm/index.html
index 94f0e61..aafa281 100644
--- a/zh/docs/dashboard/deploy-with-rpm/index.html
+++ b/zh/docs/dashboard/deploy-with-rpm/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy with RPM | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/4f34f66f.b0fb3b6a.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/deploy/index.html b/zh/docs/dashboard/deploy/index.html
index b7626c9..0ca0176 100644
--- a/zh/docs/dashboard/deploy/index.html
+++ b/zh/docs/dashboard/deploy/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Deploy with Source Codes | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,16 +26,16 @@
 <link rel="preload" href="/zh/assets/js/bd3a6b69.4cabbed0.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ ./manager-api</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># or running in background</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ nohup ./manager-api &amp;</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="4"><li><p>Without changing the configuration, visit <code>http://127.0.0.1:9000</code> to use the dashboard with GUI, where th [...]
 run:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ ./manager-api stop</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= [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ mv ./output/ /usr/local/apisix-dashboard/</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ manager-api -p /usr/local/apisix-dashboard/</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-dashboard/edit/master/docs/zh/latest/deploy.md" target="_blank" rel="noreferrer noopener"><svg fill="currentC [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/develop/index.html b/zh/docs/dashboard/develop/index.html
index 8b23b13..8a35769 100644
--- a/zh/docs/dashboard/develop/index.html
+++ b/zh/docs/dashboard/develop/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Development Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="do [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,12 +26,12 @@
 <link rel="preload" href="/zh/assets/js/84d2a1f2.50765701.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ yarn start</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="4"><li>If writing an front end E2E test, please refer to the <a href="/zh/docs/dashboard/front-end-e2e">Front End E2E Writing Guide</a></li></ol></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/ [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/dashboard/front-end-e2e/index.html b/zh/docs/dashboard/front-end-e2e/index.html
index 2a38809..51486b9 100644
--- a/zh/docs/dashboard/front-end-e2e/index.html
+++ b/zh/docs/dashboard/front-end-e2e/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Frontend E2E | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-do [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/4b0b9689.bc71449c.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/general/2fa/index.html b/zh/docs/general/2fa/index.html
index 13ec74a..2b6e0aa 100644
--- a/zh/docs/general/2fa/index.html
+++ b/zh/docs/general/2fa/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">2FA | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-default-cur [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.ef25eaac.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/3dc9f306.4b5f665a.js" as="script">
+<link rel="preload" href="/zh/assets/js/3dc9f306.acf1f148.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/935f2afb.ef25eaac.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/3dc9f306.4b5f665a.js"></script>
+<script src="/zh/assets/js/3dc9f306.acf1f148.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/committer-guide/index.html b/zh/docs/general/committer-guide/index.html
index 1531083..7195b44 100644
--- a/zh/docs/general/committer-guide/index.html
+++ b/zh/docs/general/committer-guide/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Committer Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.ef25eaac.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/8e784bf3.621f80e0.js" as="script">
+<link rel="preload" href="/zh/assets/js/8e784bf3.2f83f7ef.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/935f2afb.ef25eaac.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/8e784bf3.621f80e0.js"></script>
+<script src="/zh/assets/js/8e784bf3.2f83f7ef.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/contributor-guide/index.html b/zh/docs/general/contributor-guide/index.html
index 6d27813..d1130f9 100644
--- a/zh/docs/general/contributor-guide/index.html
+++ b/zh/docs/general/contributor-guide/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributor Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="do [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.ef25eaac.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/adbb350b.d0c1eeb9.js" as="script">
+<link rel="preload" href="/zh/assets/js/adbb350b.9d0a1999.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/935f2afb.ef25eaac.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/adbb350b.d0c1eeb9.js"></script>
+<script src="/zh/assets/js/adbb350b.9d0a1999.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/integrate-with-project-docs/index.html b/zh/docs/general/integrate-with-project-docs/index.html
index 10e074d..d3afb7e 100644
--- a/zh/docs/general/integrate-with-project-docs/index.html
+++ b/zh/docs/general/integrate-with-project-docs/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integrate with Project documentations | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusau [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.ef25eaac.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/19945770.d5967444.js" as="script">
+<link rel="preload" href="/zh/assets/js/19945770.22de58eb.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/935f2afb.ef25eaac.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/19945770.d5967444.js"></script>
+<script src="/zh/assets/js/19945770.22de58eb.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/release-guide/index.html b/zh/docs/general/release-guide/index.html
index d1c18c7..d5dd365 100644
--- a/zh/docs/general/release-guide/index.html
+++ b/zh/docs/general/release-guide/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-d [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.ef25eaac.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/7af3052c.47d0e6bd.js" as="script">
+<link rel="preload" href="/zh/assets/js/7af3052c.04322a3b.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Please select what kind of key you want:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">(1) RSA and RSA (default)</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">(2) DSA and Elgamal</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">(3) DSA (sign only)</span></div><div class="token-line" style="color [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">GnuPG needs to construct a user ID to identify your key.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Real name: ${Enter your username}</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Email address: ${Enter your email address}</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Comment: ${Enter comments}</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">You selected this USER-ID:</span></div><div class=" [...]
@@ -73,15 +73,15 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">The vote will be open for at least 72 hours or until necessary number of</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">votes are reached.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Please vote accordingly:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] +1 approve</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] +0 no opinion</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">[ ] -1 disapprove with the reason</span></div><div class="token-line" style="color:#bfc7d5"><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><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="send-vote-result-thread-to-the-dev-mailing-list"></a>Send VOTE RESULT thread to the dev mailing list<a class="hash-link" href="#send-vote-result-thread-to-the-dev-mailing-list" title="Direct link to heading">#</a></h3><p>Click <a href="https://lists.apache.org/thread.html/r9153da7 [...]
+</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 enhancedAnchor_2LWZ" id="send-vote-result-thread-to-the-dev-mailing-list"></a>Send VOTE RESULT thread to the dev mailing list<a class="hash-link" href="#send-vote-result-thread-to-the-dev-mailing-list" title="Direct link to heading">#</a></h3><p>Click <a href="https://lists.apache.org/thread.html/r9153da7 [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/935f2afb.ef25eaac.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/7af3052c.47d0e6bd.js"></script>
+<script src="/zh/assets/js/7af3052c.04322a3b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/security/index.html b/zh/docs/general/security/index.html
index f8a1857..aea3b1f 100644
--- a/zh/docs/general/security/index.html
+++ b/zh/docs/general/security/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Security | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-defaul [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.ef25eaac.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/66fbb9c2.b9a90dbf.js" as="script">
+<link rel="preload" href="/zh/assets/js/66fbb9c2.cfad59db.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/935f2afb.ef25eaac.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/66fbb9c2.b9a90dbf.js"></script>
+<script src="/zh/assets/js/66fbb9c2.cfad59db.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/general/subscribe-guide/index.html b/zh/docs/general/subscribe-guide/index.html
index 7b3d94b..a747b1a 100644
--- a/zh/docs/general/subscribe-guide/index.html
+++ b/zh/docs/general/subscribe-guide/index.html
@@ -16,26 +16,26 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Subscribe Guide | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
 <link rel="preload" href="/zh/assets/js/935f2afb.ef25eaac.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.abe18222.js" as="script">
-<link rel="preload" href="/zh/assets/js/50facf8e.41aa5882.js" as="script">
+<link rel="preload" href="/zh/assets/js/50facf8e.517cddb8.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
 <script src="/zh/assets/js/935f2afb.ef25eaac.js"></script>
 <script src="/zh/assets/js/17896441.abe18222.js"></script>
-<script src="/zh/assets/js/50facf8e.41aa5882.js"></script>
+<script src="/zh/assets/js/50facf8e.517cddb8.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/index.html b/zh/docs/index.html
index 6528aa6..318137d 100644
--- a/zh/docs/index.html
+++ b/zh/docs/index.html
@@ -16,19 +16,19 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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™</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX™"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//zh/docs"><meta data-react-helmet="true" name="docsearch:language" content="zh [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/3.485a7a73.js" as="script">
 <link rel="preload" href="/zh/assets/js/25b7c3f2.f6980e61.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/3.485a7a73.js"></script>
diff --git a/zh/docs/ingress-controller/FAQ/index.html b/zh/docs/ingress-controller/FAQ/index.html
index 0b6c8b9..7aadb6f 100644
--- a/zh/docs/ingress-controller/FAQ/index.html
+++ b/zh/docs/ingress-controller/FAQ/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs-apisix [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/9dc47d34.3a066023.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/ingress-controller/IGNORE_DOC/index.html b/zh/docs/ingress-controller/IGNORE_DOC/index.html
index 31a7bde..ffb6a15 100644
--- a/zh/docs/ingress-controller/IGNORE_DOC/index.html
+++ b/zh/docs/ingress-controller/IGNORE_DOC/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,11 +26,11 @@
 <link rel="preload" href="/zh/assets/js/d18db9b0.d74be1bd.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/ingress-controller/concepts/apisix_route/index.html b/zh/docs/ingress-controller/concepts/apisix_route/index.html
index f6432b0..a89e15c 100644
--- a/zh/docs/ingress-controller/concepts/apisix_route/index.html
+++ b/zh/docs/ingress-controller/concepts/apisix_route/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApisixRoute | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/9da58367.de60860e.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 expected backend, it exposes many features supported by Apache APISIX.
 Compared to <a href="https://kubernetes.io/docs/concepts/services-networking/ingress/" target="_blank" rel="noopener noreferrer">Ingress</a>,
 functions are implemented in a more native way, with stronger semantics.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="path-based-route-rules"></a>Path based route rules<a class="hash-link" href="#path-based-route-rules" title="Direct link to heading">#</a></h2><p>URI path are always used to split traffic, for instance, requests with host <code>foo.com</code> and
@@ -52,8 +52,8 @@ will be proxied to serivce <code>bar</code>.</p><h2><a aria-hidden="true" tabind
 in <code>ApisixRoute</code>. All configuration items are named same to the one in APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span [...]
 which host is <code>local.httpbin.org</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix-ingress-controller/edit/master/docs/zh/latest/concepts/apisix_route.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- [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/ingress-controller/concepts/apisix_tls/index.html b/zh/docs/ingress-controller/concepts/apisix_tls/index.html
index 2aee238..ce3b370 100644
--- a/zh/docs/ingress-controller/concepts/apisix_tls/index.html
+++ b/zh/docs/ingress-controller/concepts/apisix_tls/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApisixTls | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/f4620fb6.8d89e27d.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 generates an <a href="http://apisix.apache.org/docs/apisix/admin-api#ssl" target="_blank" rel="noopener noreferrer">APISIX SSL</a> object. It asks the
 Secret must have two keys <code>cert</code> and <code>key</code>, which used to store the certificate and private key in
 PEM format respectively.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">apiVersion: apisix.apache.org/v1</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">kind: ApisixTls</span></div><div class="token-l [...]
@@ -35,8 +35,8 @@ correct certificate, what&#x27;s more, it also should be matched with the <a hre
 extension in TLS, or the TLS handshaking might fail.</p><p>The apisix-ingress-controller will watch Secret resources that referred by ApisixTls objects, once a
 Secret changed, apisix-ingress-controller will re translate all referred ApisixTls objects, converting them to APISIX SSL resources ultimately.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix-ingress-controller/edit/master/docs/zh/latest/concepts/apisix_tls.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0  [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/ingress-controller/concepts/apisix_upstream/index.html b/zh/docs/ingress-controller/concepts/apisix_upstream/index.html
index a262c0a..caee74e 100644
--- a/zh/docs/ingress-controller/concepts/apisix_upstream/index.html
+++ b/zh/docs/ingress-controller/concepts/apisix_upstream/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ApisixUpstream | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,8 +26,8 @@
 <link rel="preload" href="/zh/assets/js/b0e5e822.f30937f4.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 load balancing, health check, retry, timeout parameters and etc.</p><p>Resort to <code>ApisixUpstream</code> and the Kubernetes Service, apisix ingress controller will generates the APISIX Upstream(s).
 To learn more, please check the <a href="https://github.com/apache/apisix/blob/master/doc/architecture-design.md#upstream" target="_blank" rel="noopener noreferrer">Apache APISIX architecture-design docs</a>.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="configuring-load-balancer"></a>Configuring Load Balancer<a class="hash-link" href="#configuring-load-balancer" title="Direct link to heading">#</a></h3><p>A proper load balancing algorithm is required  [...]
 like the passive feedback capability.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token key atrule">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> apisix.apache.org/v1</span></d [...]
@@ -44,8 +44,8 @@ In that case, you can create configurations for individual port.</p><div class="
 In the meanwhile, the ApisixUpstream <code>foo</code> sets <code>http</code> scheme for port <code>7000</code> and <code>grpc</code> scheme for <code>7001</code>
 (all ports are the service port). But both ports shares the load balancer configuration.</p><p><code>PortLevelSettings</code> is not mandatory if the service only exposes one port but is useful when multiple ports are defined.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix-ingress-controller/edit/master/docs/zh/latest/concepts/apisix_upstream.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
 <script src="/zh/assets/js/1be78505.80b0666c.js"></script>
diff --git a/zh/docs/ingress-controller/contribute/index.html b/zh/docs/ingress-controller/contribute/index.html
index 21e9c38..bcf5d8a 100644
--- a/zh/docs/ingress-controller/contribute/index.html
+++ b/zh/docs/ingress-controller/contribute/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributing to apisix-ingress-controller | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:doc [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.d9182733.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.369efd25.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.c782b49d.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.6d19ec46.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.dd50ecc7.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.80b0666c.js" as="script">
@@ -26,15 +26,15 @@
 <link rel="preload" href="/zh/assets/js/9c26c05d.35036732.js" as="script">
 </head>
 <body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="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-m [...]
 pleasant first experience for you, and that you will return to continue
 contributing.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="how-to-contribute"></a>How to contribute<a class="hash-link" href="#how-to-contribute" title="Direct link to heading">#</a></h2><p>Most of the contributions that we receive are code contributions, but you can
 also contribute to the documentation or simply report solid bugs
 for us to fix.</p><p> For new contributors, please take a look at issues with a tag called <a href="https://github.com/apache/apisix-ingress-controller/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22" target="_blank" rel="noopener noreferrer">Good first issue</a> or <a href="https://github.com/apache/apisix-ingress-controller/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22" target="_blank" rel="noopener noreferrer">Help wanted</a>.</p><h2><a aria-hidden="true" tabind [...]
 <script src="/zh/assets/js/styles.433a6000.js"></script>
-<script src="/zh/assets/js/runtime~main.d9182733.js"></script>
-<script src="/zh/assets/js/main.369efd25.js"></script>
+<script src="/zh/assets/js/runtime~main.c782b49d.js"></script>
+<script src="/zh/assets/js/main.f9a260b0.js"></script>
 <script src="/zh/assets/js/1.6d19ec46.js"></script>
 <script src="/zh/assets/js/2.dd50ecc7.js"></script>
... 1029 lines suppressed ...