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:21:37 UTC

[apisix-website] branch asf-site updated: deploy: 35ba8f1dbe3780e227020155c94362606f7beab6

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 6a311cb  deploy: 35ba8f1dbe3780e227020155c94362606f7beab6
6a311cb is described below

commit 6a311cb0c8495e379dc92edbe0ef2acd8f604fd1
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Fri Apr 9 01:21:26 2021 +0000

    deploy: 35ba8f1dbe3780e227020155c94362606f7beab6
---
 404.html                                           | 10 ++++----
 .../{19945770.faed2bad.js => 19945770.dc5e1ece.js} |  2 +-
 .../{3dc9f306.aa485ddb.js => 3dc9f306.65510f29.js} |  2 +-
 .../{50facf8e.d5f2ed25.js => 50facf8e.1d11c0c7.js} |  2 +-
 .../{66fbb9c2.82366230.js => 66fbb9c2.8ed107c1.js} |  2 +-
 .../{7af3052c.29aae170.js => 7af3052c.74223a27.js} |  2 +-
 .../{8e784bf3.7e177f7f.js => 8e784bf3.4a4e7e67.js} |  2 +-
 .../{adbb350b.a35e8398.js => adbb350b.9f629678.js} |  2 +-
 assets/js/{main.e23c139f.js => main.f4eaff19.js}   |  4 ++--
 .../js/main.f4eaff19.js.LICENSE.txt                |  0
 ...e~main.2e2bf43b.js => runtime~main.1b59a140.js} |  2 +-
 blog/2020/08/22/new-website/index.html             | 10 ++++----
 .../index.html                                     | 14 +++++------
 .../index.html                                     | 10 ++++----
 .../21/run-ingress-apisix-on-amazon-eks/index.html | 12 +++++-----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 12 +++++-----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 blog/index.html                                    | 10 ++++----
 docs/apisix/FAQ/index.html                         | 18 +++++++-------
 docs/apisix/IGNORE_DOC/index.html                  | 10 ++++----
 docs/apisix/admin-api/index.html                   | 18 +++++++-------
 docs/apisix/architecture-design/apisix/index.html  | 10 ++++----
 .../apisix/architecture-design/consumer/index.html | 10 ++++----
 .../architecture-design/debug-mode/index.html      | 12 +++++-----
 .../architecture-design/global-rule/index.html     | 10 ++++----
 .../architecture-design/plugin-config/index.html   | 10 ++++----
 docs/apisix/architecture-design/plugin/index.html  | 10 ++++----
 docs/apisix/architecture-design/route/index.html   | 10 ++++----
 docs/apisix/architecture-design/router/index.html  | 10 ++++----
 docs/apisix/architecture-design/script/index.html  | 10 ++++----
 docs/apisix/architecture-design/service/index.html | 10 ++++----
 .../apisix/architecture-design/upstream/index.html | 10 ++++----
 docs/apisix/aws/index.html                         | 16 ++++++-------
 docs/apisix/batch-processor/index.html             | 12 +++++-----
 docs/apisix/benchmark/index.html                   | 18 +++++++-------
 docs/apisix/control-api/index.html                 | 16 ++++++-------
 .../customize-nginx-configuration/index.html       | 10 ++++----
 docs/apisix/debug-function/index.html              | 10 ++++----
 docs/apisix/discovery/consul_kv/index.html         | 14 +++++------
 docs/apisix/discovery/dns/index.html               | 12 +++++-----
 docs/apisix/discovery/eureka/index.html            | 10 ++++----
 docs/apisix/discovery/index.html                   | 14 +++++------
 .../index.html                                     | 26 ++++++++++----------
 docs/apisix/getting-started/index.html             | 12 +++++-----
 docs/apisix/grpc-proxy/index.html                  | 12 +++++-----
 docs/apisix/health-check/index.html                | 10 ++++----
 docs/apisix/how-to-build/index.html                | 18 +++++++-------
 docs/apisix/https/index.html                       | 16 ++++++-------
 docs/apisix/install-dependencies/index.html        | 18 +++++++-------
 docs/apisix/mtls/index.html                        | 12 +++++-----
 docs/apisix/plugin-develop/index.html              | 24 +++++++++----------
 docs/apisix/plugin-interceptors/index.html         | 10 ++++----
 docs/apisix/plugins/api-breaker/index.html         | 12 +++++-----
 docs/apisix/plugins/authz-keycloak/index.html      | 24 +++++++++----------
 docs/apisix/plugins/basic-auth/index.html          | 10 ++++----
 docs/apisix/plugins/batch-requests/index.html      | 14 +++++------
 .../apisix/plugins/consumer-restriction/index.html | 14 +++++------
 docs/apisix/plugins/cors/index.html                | 12 +++++-----
 docs/apisix/plugins/dubbo-proxy/index.html         | 14 +++++------
 docs/apisix/plugins/echo/index.html                | 10 ++++----
 docs/apisix/plugins/error-log-logger/index.html    | 14 +++++------
 docs/apisix/plugins/fault-injection/index.html     | 12 +++++-----
 docs/apisix/plugins/grpc-transcode/index.html      | 14 +++++------
 docs/apisix/plugins/hmac-auth/index.html           | 20 ++++++++--------
 docs/apisix/plugins/http-logger/index.html         | 10 ++++----
 docs/apisix/plugins/index.html                     | 12 +++++-----
 docs/apisix/plugins/ip-restriction/index.html      | 16 ++++++-------
 docs/apisix/plugins/jwt-auth/index.html            | 18 +++++++-------
 docs/apisix/plugins/kafka-logger/index.html        | 18 +++++++-------
 docs/apisix/plugins/key-auth/index.html            | 14 +++++------
 docs/apisix/plugins/limit-conn/index.html          | 14 +++++------
 docs/apisix/plugins/limit-count/index.html         | 14 +++++------
 docs/apisix/plugins/limit-req/index.html           | 12 +++++-----
 docs/apisix/plugins/log-rotate/index.html          | 16 ++++++-------
 docs/apisix/plugins/mqtt-proxy/index.html          | 14 +++++------
 docs/apisix/plugins/node-status/index.html         | 16 ++++++-------
 docs/apisix/plugins/openid-connect/index.html      | 18 +++++++-------
 docs/apisix/plugins/prometheus/index.html          | 16 ++++++-------
 docs/apisix/plugins/proxy-cache/index.html         | 14 +++++------
 docs/apisix/plugins/proxy-mirror/index.html        | 12 +++++-----
 docs/apisix/plugins/proxy-rewrite/index.html       | 10 ++++----
 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  | 14 +++++------
 docs/apisix/plugins/response-rewrite/index.html    | 14 +++++------
 docs/apisix/plugins/server-info/index.html         | 10 ++++----
 docs/apisix/plugins/serverless/index.html          | 12 +++++-----
 docs/apisix/plugins/skywalking/index.html          | 18 +++++++-------
 docs/apisix/plugins/sls-logger/index.html          | 14 +++++------
 docs/apisix/plugins/syslog/index.html              | 10 ++++----
 docs/apisix/plugins/tcp-logger/index.html          | 12 +++++-----
 docs/apisix/plugins/traffic-split/index.html       | 18 +++++++-------
 docs/apisix/plugins/udp-logger/index.html          | 12 +++++-----
 docs/apisix/plugins/uri-blocker/index.html         | 12 +++++-----
 docs/apisix/plugins/wolf-rbac/index.html           | 22 ++++++++---------
 docs/apisix/plugins/zipkin/index.html              | 12 +++++-----
 docs/apisix/profile/index.html                     | 10 ++++----
 docs/apisix/router-radixtree/index.html            | 14 +++++------
 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          | 10 ++++----
 docs/dashboard/IGNORE_DOC/index.html               | 10 ++++----
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html | 12 +++++-----
 docs/dashboard/USER_GUIDE/index.html               | 10 ++++----
 docs/dashboard/api/api/index.html                  | 10 ++++----
 docs/dashboard/back-end-tests/index.html           | 16 ++++++-------
 docs/dashboard/deploy-with-docker/index.html       | 12 +++++-----
 docs/dashboard/deploy-with-rpm/index.html          | 10 ++++----
 docs/dashboard/deploy/index.html                   | 12 +++++-----
 docs/dashboard/develop/index.html                  | 10 ++++----
 docs/dashboard/front-end-e2e/index.html            | 10 ++++----
 docs/general/2fa/index.html                        | 14 +++++------
 docs/general/committer-guide/index.html            | 14 +++++------
 docs/general/contributor-guide/index.html          | 14 +++++------
 .../general/integrate-with-project-docs/index.html | 14 +++++------
 docs/general/release-guide/index.html              | 28 +++++++++++-----------
 docs/general/security/index.html                   | 14 +++++------
 docs/general/subscribe-guide/index.html            | 14 +++++------
 docs/index.html                                    | 10 ++++----
 docs/ingress-controller/FAQ/index.html             | 10 ++++----
 docs/ingress-controller/IGNORE_DOC/index.html      | 10 ++++----
 .../concepts/apisix_route/index.html               | 20 ++++++++--------
 .../concepts/apisix_tls/index.html                 | 10 ++++----
 .../concepts/apisix_upstream/index.html            | 16 ++++++-------
 docs/ingress-controller/contribute/index.html      | 14 +++++------
 docs/ingress-controller/deployments/ack/index.html | 10 ++++----
 docs/ingress-controller/deployments/aws/index.html | 10 ++++----
 .../deployments/azure/index.html                   | 10 ++++----
 docs/ingress-controller/deployments/gke/index.html | 10 ++++----
 .../deployments/k3s-rke/index.html                 | 14 +++++------
 .../deployments/kubesphere/index.html              | 12 +++++-----
 .../deployments/minikube/index.html                | 10 ++++----
 docs/ingress-controller/deployments/tke/index.html | 10 ++++----
 docs/ingress-controller/design/index.html          | 10 ++++----
 docs/ingress-controller/development/index.html     | 10 ++++----
 docs/ingress-controller/getting-started/index.html | 12 +++++-----
 docs/ingress-controller/practices/index/index.html | 10 ++++----
 .../index.html                                     | 12 +++++-----
 .../practices/proxy-the-httpbin-service/index.html | 12 +++++-----
 .../references/apisix_route_v1/index.html          | 10 ++++----
 .../references/apisix_route_v2alpha1/index.html    | 10 ++++----
 .../references/apisix_tls/index.html               | 10 ++++----
 .../references/apisix_upstream/index.html          | 10 ++++----
 downloads/ProjectCard/index.html                   |  8 +++----
 downloads/index.html                               | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../02/09/release-apache-apisix-2.3/index.html     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../release-apache-apisix-dashboard-2.4/index.html | 10 ++++----
 .../03/05/release-apache-apisix-2.4/index.html     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../04/05/release-apache-apisix-2.5/index.html     | 10 ++++----
 events/index.html                                  | 10 ++++----
 help/index.html                                    | 10 ++++----
 index.html                                         | 10 ++++----
 search/index.html                                  | 10 ++++----
 team/index.html                                    | 10 ++++----
 zh/404.html                                        | 10 ++++----
 .../{19945770.22de58eb.js => 19945770.89a6c24d.js} |  2 +-
 .../{3dc9f306.acf1f148.js => 3dc9f306.1a128b7b.js} |  2 +-
 .../{50facf8e.517cddb8.js => 50facf8e.8c7fa73d.js} |  2 +-
 .../{66fbb9c2.cfad59db.js => 66fbb9c2.cf68ee4a.js} |  2 +-
 .../{7af3052c.04322a3b.js => 7af3052c.1da6f319.js} |  2 +-
 .../{8e784bf3.2f83f7ef.js => 8e784bf3.7e06a60b.js} |  2 +-
 .../{adbb350b.9d0a1999.js => adbb350b.8ebc486e.js} |  2 +-
 .../js/{main.f9a260b0.js => main.1ed3b37c.js}      |  4 ++--
 .../assets/js/main.1ed3b37c.js.LICENSE.txt         |  0
 ...e~main.c782b49d.js => runtime~main.b54606be.js} |  2 +-
 zh/blog/2020/08/22/new-website/index.html          | 10 ++++----
 .../index.html                                     | 14 +++++------
 .../index.html                                     | 10 ++++----
 .../21/run-ingress-apisix-on-amazon-eks/index.html | 12 +++++-----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 12 +++++-----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 zh/blog/index.html                                 | 10 ++++----
 zh/docs/apisix/FAQ/index.html                      | 18 +++++++-------
 zh/docs/apisix/IGNORE_DOC/index.html               | 10 ++++----
 zh/docs/apisix/admin-api/index.html                | 18 +++++++-------
 .../apisix/architecture-design/apisix/index.html   | 10 ++++----
 .../apisix/architecture-design/consumer/index.html | 10 ++++----
 .../architecture-design/debug-mode/index.html      | 12 +++++-----
 .../architecture-design/global-rule/index.html     | 10 ++++----
 .../architecture-design/plugin-config/index.html   | 10 ++++----
 .../apisix/architecture-design/plugin/index.html   | 10 ++++----
 .../apisix/architecture-design/route/index.html    | 10 ++++----
 .../apisix/architecture-design/router/index.html   | 10 ++++----
 .../apisix/architecture-design/script/index.html   | 10 ++++----
 .../apisix/architecture-design/service/index.html  | 10 ++++----
 .../apisix/architecture-design/upstream/index.html | 12 +++++-----
 zh/docs/apisix/aws/index.html                      | 16 ++++++-------
 zh/docs/apisix/batch-processor/index.html          | 12 +++++-----
 zh/docs/apisix/benchmark/index.html                | 10 ++++----
 zh/docs/apisix/control-api/index.html              | 16 ++++++-------
 .../customize-nginx-configuration/index.html       | 10 ++++----
 zh/docs/apisix/debug-function/index.html           | 10 ++++----
 zh/docs/apisix/discovery/consul_kv/index.html      | 14 +++++------
 zh/docs/apisix/discovery/dns/index.html            | 12 +++++-----
 zh/docs/apisix/discovery/eureka/index.html         | 10 ++++----
 zh/docs/apisix/discovery/index.html                | 12 +++++-----
 .../index.html                                     | 26 ++++++++++----------
 zh/docs/apisix/getting-started/index.html          | 18 +++++++-------
 zh/docs/apisix/grpc-proxy/index.html               | 10 ++++----
 zh/docs/apisix/health-check/index.html             | 10 ++++----
 zh/docs/apisix/how-to-build/index.html             | 18 +++++++-------
 zh/docs/apisix/https/index.html                    | 16 ++++++-------
 zh/docs/apisix/install-dependencies/index.html     | 18 +++++++-------
 zh/docs/apisix/mtls/index.html                     | 12 +++++-----
 zh/docs/apisix/plugin-develop/index.html           | 22 ++++++++---------
 zh/docs/apisix/plugin-interceptors/index.html      | 10 ++++----
 zh/docs/apisix/plugins/api-breaker/index.html      | 14 +++++------
 zh/docs/apisix/plugins/authz-keycloak/index.html   | 10 ++++----
 zh/docs/apisix/plugins/basic-auth/index.html       | 10 ++++----
 zh/docs/apisix/plugins/batch-requests/index.html   | 12 +++++-----
 .../apisix/plugins/consumer-restriction/index.html | 14 +++++------
 zh/docs/apisix/plugins/cors/index.html             | 12 +++++-----
 zh/docs/apisix/plugins/dubbo-proxy/index.html      | 16 ++++++-------
 zh/docs/apisix/plugins/echo/index.html             | 10 ++++----
 zh/docs/apisix/plugins/error-log-logger/index.html | 14 +++++------
 zh/docs/apisix/plugins/fault-injection/index.html  | 12 +++++-----
 zh/docs/apisix/plugins/grpc-transcode/index.html   | 14 +++++------
 zh/docs/apisix/plugins/hmac-auth/index.html        | 16 ++++++-------
 zh/docs/apisix/plugins/http-logger/index.html      | 10 ++++----
 zh/docs/apisix/plugins/index.html                  | 12 +++++-----
 zh/docs/apisix/plugins/ip-restriction/index.html   | 10 ++++----
 zh/docs/apisix/plugins/jwt-auth/index.html         | 18 +++++++-------
 zh/docs/apisix/plugins/kafka-logger/index.html     | 16 ++++++-------
 zh/docs/apisix/plugins/key-auth/index.html         | 14 +++++------
 zh/docs/apisix/plugins/limit-conn/index.html       | 14 +++++------
 zh/docs/apisix/plugins/limit-count/index.html      | 16 ++++++-------
 zh/docs/apisix/plugins/limit-req/index.html        | 12 +++++-----
 zh/docs/apisix/plugins/log-rotate/index.html       | 14 +++++------
 zh/docs/apisix/plugins/mqtt-proxy/index.html       | 10 ++++----
 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       | 12 +++++-----
 zh/docs/apisix/plugins/proxy-cache/index.html      | 14 +++++------
 zh/docs/apisix/plugins/proxy-mirror/index.html     | 12 +++++-----
 zh/docs/apisix/plugins/proxy-rewrite/index.html    | 10 ++++----
 zh/docs/apisix/plugins/redirect/index.html         | 12 +++++-----
 .../apisix/plugins/referer-restriction/index.html  | 10 ++++----
 zh/docs/apisix/plugins/request-id/index.html       | 10 ++++----
 .../apisix/plugins/request-validation/index.html   | 10 ++++----
 zh/docs/apisix/plugins/response-rewrite/index.html | 14 +++++------
 zh/docs/apisix/plugins/server-info/index.html      | 12 +++++-----
 zh/docs/apisix/plugins/serverless/index.html       | 14 +++++------
 zh/docs/apisix/plugins/skywalking/index.html       | 14 +++++------
 zh/docs/apisix/plugins/sls-logger/index.html       | 14 +++++------
 zh/docs/apisix/plugins/syslog/index.html           | 10 ++++----
 zh/docs/apisix/plugins/tcp-logger/index.html       | 12 +++++-----
 zh/docs/apisix/plugins/traffic-split/index.html    | 18 +++++++-------
 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        | 22 ++++++++---------
 zh/docs/apisix/plugins/zipkin/index.html           | 10 ++++----
 zh/docs/apisix/profile/index.html                  | 10 ++++----
 zh/docs/apisix/router-radixtree/index.html         | 14 +++++------
 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       | 10 ++++----
 zh/docs/dashboard/IGNORE_DOC/index.html            | 10 ++++----
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html | 12 +++++-----
 zh/docs/dashboard/USER_GUIDE/index.html            | 10 ++++----
 zh/docs/dashboard/api/api/index.html               | 10 ++++----
 zh/docs/dashboard/back-end-tests/index.html        | 16 ++++++-------
 zh/docs/dashboard/deploy-with-docker/index.html    | 12 +++++-----
 zh/docs/dashboard/deploy-with-rpm/index.html       | 10 ++++----
 zh/docs/dashboard/deploy/index.html                | 12 +++++-----
 zh/docs/dashboard/develop/index.html               | 10 ++++----
 zh/docs/dashboard/front-end-e2e/index.html         | 10 ++++----
 zh/docs/general/2fa/index.html                     | 14 +++++------
 zh/docs/general/committer-guide/index.html         | 14 +++++------
 zh/docs/general/contributor-guide/index.html       | 14 +++++------
 .../general/integrate-with-project-docs/index.html | 14 +++++------
 zh/docs/general/release-guide/index.html           | 28 +++++++++++-----------
 zh/docs/general/security/index.html                | 14 +++++------
 zh/docs/general/subscribe-guide/index.html         | 14 +++++------
 zh/docs/index.html                                 | 10 ++++----
 zh/docs/ingress-controller/FAQ/index.html          | 10 ++++----
 zh/docs/ingress-controller/IGNORE_DOC/index.html   | 10 ++++----
 .../concepts/apisix_route/index.html               | 20 ++++++++--------
 .../concepts/apisix_tls/index.html                 | 10 ++++----
 .../concepts/apisix_upstream/index.html            | 16 ++++++-------
 zh/docs/ingress-controller/contribute/index.html   | 14 +++++------
 .../ingress-controller/deployments/ack/index.html  | 10 ++++----
 .../ingress-controller/deployments/aws/index.html  | 10 ++++----
 .../deployments/azure/index.html                   | 10 ++++----
 .../ingress-controller/deployments/gke/index.html  | 10 ++++----
 .../deployments/k3s-rke/index.html                 | 14 +++++------
 .../deployments/kubesphere/index.html              | 12 +++++-----
 .../deployments/minikube/index.html                | 10 ++++----
 .../ingress-controller/deployments/tke/index.html  | 10 ++++----
 zh/docs/ingress-controller/design/index.html       | 10 ++++----
 zh/docs/ingress-controller/development/index.html  | 10 ++++----
 .../ingress-controller/getting-started/index.html  | 12 +++++-----
 .../ingress-controller/practices/index/index.html  | 10 ++++----
 .../index.html                                     | 12 +++++-----
 .../practices/proxy-the-httpbin-service/index.html | 12 +++++-----
 .../references/apisix_route_v1/index.html          | 10 ++++----
 .../references/apisix_route_v2alpha1/index.html    | 10 ++++----
 .../references/apisix_tls/index.html               | 10 ++++----
 .../references/apisix_upstream/index.html          | 10 ++++----
 zh/downloads/ProjectCard/index.html                |  8 +++----
 zh/downloads/index.html                            | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../02/09/release-apache-apisix-2.3/index.html     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../release-apache-apisix-dashboard-2.4/index.html | 10 ++++----
 .../03/05/release-apache-apisix-2.4/index.html     | 10 ++++----
 .../index.html                                     | 10 ++++----
 .../04/05/release-apache-apisix-2.5/index.html     | 10 ++++----
 zh/events/index.html                               | 10 ++++----
 zh/help/index.html                                 | 10 ++++----
 zh/index.html                                      | 10 ++++----
 zh/search/index.html                               | 10 ++++----
 zh/team/index.html                                 | 10 ++++----
 324 files changed, 1901 insertions(+), 1901 deletions(-)

diff --git a/404.html b/404.html
index 3659a01..6599f69 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/19945770.faed2bad.js b/assets/js/19945770.dc5e1ece.js
similarity index 99%
rename from assets/js/19945770.faed2bad.js
rename to assets/js/19945770.dc5e1ece.js
index d7e2284..bcaf0ae 100644
--- a/assets/js/19945770.faed2bad.js
+++ b/assets/js/19945770.dc5e1ece.js
@@ -1 +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
+(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/3dc9f306.aa485ddb.js b/assets/js/3dc9f306.65510f29.js
similarity index 98%
rename from assets/js/3dc9f306.aa485ddb.js
rename to assets/js/3dc9f306.65510f29.js
index 4ee524e..1d7e6fc 100644
--- a/assets/js/3dc9f306.aa485ddb.js
+++ b/assets/js/3dc9f306.65510f29.js
@@ -1 +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
+(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.d5f2ed25.js b/assets/js/50facf8e.1d11c0c7.js
similarity index 98%
rename from assets/js/50facf8e.d5f2ed25.js
rename to assets/js/50facf8e.1d11c0c7.js
index dbc9a2d..4a4c5c9 100644
--- a/assets/js/50facf8e.d5f2ed25.js
+++ b/assets/js/50facf8e.1d11c0c7.js
@@ -1 +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
+(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.8ed107c1.js
similarity index 98%
rename from assets/js/66fbb9c2.82366230.js
rename to assets/js/66fbb9c2.8ed107c1.js
index 4a736c8..662b92e 100644
--- a/assets/js/66fbb9c2.82366230.js
+++ b/assets/js/66fbb9c2.8ed107c1.js
@@ -1 +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
+(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.74223a27.js
similarity index 99%
rename from assets/js/7af3052c.29aae170.js
rename to assets/js/7af3052c.74223a27.js
index b26bac9..1e0b57f 100644
--- a/assets/js/7af3052c.29aae170.js
+++ b/assets/js/7af3052c.74223a27.js
@@ -1 +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
+(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.4a4e7e67.js
similarity index 98%
rename from assets/js/8e784bf3.7e177f7f.js
rename to assets/js/8e784bf3.4a4e7e67.js
index 271c9ac..6a2ed96 100644
--- a/assets/js/8e784bf3.7e177f7f.js
+++ b/assets/js/8e784bf3.4a4e7e67.js
@@ -1 +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
+(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.a35e8398.js b/assets/js/adbb350b.9f629678.js
similarity index 99%
rename from assets/js/adbb350b.a35e8398.js
rename to assets/js/adbb350b.9f629678.js
index 87ef837..1c0fabc 100644
--- a/assets/js/adbb350b.a35e8398.js
+++ b/assets/js/adbb350b.9f629678.js
@@ -1 +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
+(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.e23c139f.js b/assets/js/main.f4eaff19.js
similarity index 96%
rename from assets/js/main.e23c139f.js
rename to assets/js/main.f4eaff19.js
index 4586e5d..02d567e 100644
--- a/assets/js/main.e23c139f.js
+++ b/assets/js/main.f4eaff19.js
@@ -1,2 +1,2 @@
-/*! 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
+/*! For license information please see main.f4eaff19.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.f9a260b0.js.LICENSE.txt b/assets/js/main.f4eaff19.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.f9a260b0.js.LICENSE.txt
rename to assets/js/main.f4eaff19.js.LICENSE.txt
diff --git a/assets/js/runtime~main.2e2bf43b.js b/assets/js/runtime~main.1b59a140.js
similarity index 85%
rename from assets/js/runtime~main.2e2bf43b.js
rename to assets/js/runtime~main.1b59a140.js
index b9ab3ee..c2616ee 100644
--- a/assets/js/runtime~main.2e2bf43b.js
+++ b/assets/js/runtime~main.1b59a140.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(c,r)&&c[r]&&l.push(c[r][0]),c[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 b.push.apply(b,o||[]),f()}function f(){for(var e,a=0;a<b.length;a++){for(var f=b[a],d=!0,r=1;r<f.length;r++){var n=f[r];0!==c[n]&&(d=!1)}d&&(b.splice(a--,1),e=t(t.s=f[0]))}return e}var d={},c={182:0},b=[];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 4258fcd..81f2455 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 050c25d..bebe90c 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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> [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s custom requirements. In this case, Envoy needs to [...]
+In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client request data into <code>ctx</code> so that i [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 8794743..28d15c9 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 c0b7b9e..6382a0b 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 2334522..19ce75d 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 36eff49..a0941ef 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 3ac3f81..a8dd5ad 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 b1d8d00..dbc44b5 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 a3ef506..4cd45dc 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -35,10 +35,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 e788584..418ca53 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,17 +27,17 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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 [...]
+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 [...]
-<a href="https://github.com/iresty/lua-resty-radixtree#operator-list" target="_blank" rel="noopener noreferrer">https://github.com/iresty/lua-resty-radixtree#operator-list</a></p><ol start="2"><li>Use <code>traffic-split</code> plugin to do it.</li></ol><p>Please refer to the <a href="/docs/apisix/plugins/traffic-split">traffic-split.md</a> plugin documentation for usage examples.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="how-to-redirect-http-to-ht [...]
-</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 [...]
-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 [...]
+<a href="https://github.com/iresty/lua-resty-radixtree#operator-list" target="_blank" rel="noopener noreferrer">https://github.com/iresty/lua-resty-radixtree#operator-list</a></p><ol start="2"><li>Use <code>traffic-split</code> plugin to do it.</li></ol><p>Please refer to the <a href="/docs/apisix/plugins/traffic-split">traffic-split.md</a> plugin documentation for usage examples.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-redirect-http-to-https-via-apisix"></a> [...]
+</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 [...]
+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" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests" title="Direct link to heading">#</a></h2><p>By  [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 19d1de3..7770799 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 18071e7..1b24f63 100644
--- a/docs/apisix/admin-api/index.html
+++ b/docs/apisix/admin-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">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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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  [...]
@@ -56,7 +56,7 @@
 </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 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 string" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">After successful execution, status nodes will be updated to:</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)"> [...]
 </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><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="service"></a>Service<a class="hash-link" href="#service" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/services [...]
+</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="service"></a>Service<a class="hash-link" href="#service" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/services/{id}</p><p><em>Desc [...]
 </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"></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" style="di [...]
 </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"># Add an upstream node to the Service</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/services/201 -H</span> [...]
@@ -70,8 +70,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"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># Replace upstream nodes of the Service</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/services/201/upstrea [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">After successful execution, upstream 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="toke [...]
-</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="consumer"></a>Consumer<a class="hash-link" href="#consumer" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/consu [...]
-</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></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="consumer"></a>Consumer<a class="hash-link" href="#consumer" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/consumers/{username}</p>< [...]
+</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" 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"># Add a node to the Upstream</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/upstreams/100 -H</span><span cl [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">After successful execution, nodes will be updated to:</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;3 [...]
@@ -86,11 +86,11 @@
 </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" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/ssl/{id}</p><p><em>Description</em>:SSL.</p><blockquote><p>Request Methods:</p></blockquote><table><thead><tr><th>M [...]
 </span></div><div class="token-line" style="color:#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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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/apisix/index.html b/docs/apisix/architecture-design/apisix/index.html
index 462b9cd..df45479 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 40b0b6f..6790b8f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 3171d23..06cbd17 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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> [...]
+subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 cb28895..2d66f3a 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 26d53c7..048fe7c 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 45c1507..2d7fed1 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 01febbd..74e2af7 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 2e5d213..e88e002 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 48861d8..56cb580 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 e050643..afbbb33 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 a2e040f..c24aa16 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 06cdb10..0ad61c8 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,9 +27,9 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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">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 [...]
 </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"> vpc </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token maybe-class-name">Vpc</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token method function property-access" style="color:rgb [...]
 </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"> cluster </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)">Cluster</span><span cl [...]
@@ -46,13 +46,13 @@
 </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"> devEnv </span><span class="token operator" style="color:rgb(137, 221, 255)">=</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">  acc [...]
 </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"> app </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)">cdk</span><span class="token c [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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)">ApiSixStack</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">app</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"> </span><spa [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">app</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></div></ [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">app</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></div></ [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Address: </span><span class="token number" style="color:rgb(247, 140, 108)">44.224</span><span class="token plain">.124.213</span></div [...]
 <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 [...]
+<img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 bfa8123..b241acb 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,9 +27,9 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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
+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" 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 [...]
 argument and the batch configuration as the second parameter.</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 bp = require(&quot;apisix.plugins.batch-processor&quot;)</span></div><div class="token-line" style="color:#bfc7d5"><span cl [...]
 </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"> [...]
@@ -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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 0536494..626089a 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+which is the HTTP benchmarking tool.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" 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" 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" id="latency"></a>Latency<a class="hash-link" href="#latency" tit [...]
+<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" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="latency-1"></a>Latency<a class="hash-link" href="#latenc [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 c1d11ef..9c0028f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" 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" id="get-v1schema"></a>GET /v1/schema<a class="hash-link" href="#get-v1sch [...]
 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 [...]
+definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/health-check">health check</a> status in the format below:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollba [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 ae20ccc..1c2c307 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 551b08b..9ed3b19 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 b55816a..fa28480 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#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 [...]
+To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 29de0ce..e2b8e4a 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,9 +27,9 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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 [...]
+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 [...]
 For SRV record, nodes with lower priority are chosen first, so the final priority is negative.</p><p>As for 0 weight SRV record, the <a href="https://www.ietf.org/rfc/rfc2782.txt" target="_blank" rel="noopener noreferrer">RFC 2782</a> says:</p><blockquote><p>Domain administrators SHOULD use Weight 0 when there isn&#x27;t any server
 selection to do, to make the RR easier to read for humans (less
@@ -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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 c5e8071..1f111ba 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 4261a6a..d1b141c 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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">
@@ -35,13 +35,13 @@
 </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.dump_data()</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    return {config = your_config, services = your_services, other = ... }</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">
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">return _M</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="how-convert-eurekas-instance-data-to-apisixs-node"></a>How convert Eureka&#x27;s instance data to APISIX&#x27;s node?<a class="hash-link" href="#how-convert-eurekas-instance-data-to-apisi [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">return _M</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" id="how-convert-eurekas-instance-data-to-apisixs-node"></a>How convert Eureka&#x27;s instance data to APISIX&#x27;s node?<a class="hash-link" href="#how-convert-eurekas-instance-data-to-apisixs-node" title="Dire [...]
 </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  [...]
-</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></ [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 bb06cda..ff2dc28 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,44 +27,44 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
 </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" style="color:rgb(130, 170, 255)">hash</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">hexd [...]
-</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">base64</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">b64encode</span><span class="token punctuation" style="color:rgb(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 lowercase base64</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">base64</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">b64encode</span><span class="token punctuation" style="color:rgb(199,  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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)">Main</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">  </spa [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">     </span><span class="token class-name" style="color:rgb(255, 203, 107)">Mac</span><span class="token plain"> hasher </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(255, 203, 107)">Mac</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token function"  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">     </span><span class="token keyword" style="font-style:italic">byte</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 plain"> hash </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> hasher</span><span class="token punctuation" sty [...]
 </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 class-name" style="color:rgb(255, 203, 107)">DatatypeConverter</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><sp [...]
-</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 class-name" style="color:rgb(255, 203, 107)">DatatypeConverter</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</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">// to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">     </span><span class="token class-name" style="color:rgb(255, 203, 107)">DatatypeConverter</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class=" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">import</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">    </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;crypto/hmac&quot;</span><span class="t [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">func</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">main</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 plain"> </span><span class="token punctuation" style="color:rgb [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    hash </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 function" style="color:rgb(130, 170, 255)">New</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">sha256</span><span class="token punctu [...]
 </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">    hex</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token function" style="color:rgb(130, 170, 255)">EncodeToString</span><span c [...]
-</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">    base64</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">StdEncoding</span><span class="token punctuation" style="color:rgb(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">    base64</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">StdEncoding</span><span class="token punctuation" style="color:rgb(199, [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">secret = &#x27;the shared secret key here&#x27;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">message = &#x27;this is signature string&#x27;</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"># to lowercase hexits</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">OpenSSL::HMAC.hexdigest(&#x27;sha256&#x27;, secret, message)</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"># to base64</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Base64.encode64(OpenSSL::HMAC.digest(&#x27;sha256&#x27;, secret, message))</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="nodejs"></a>NodeJs<a class [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># to base64</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Base64.encode64(OpenSSL::HMAC.digest(&#x27;sha256&#x27;, secret, message))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="nodejs"></a>NodeJs<a class="hash-link" href="# [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">var</span><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 string" style="color:rgb(195, 232, 141)">&#x27;the shared secret key here&#x27;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class=" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">var</span><span class="token plain"> hash </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> crypto</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)">createHmac</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">// to lowercase hexits</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hash</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)">digest</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">// to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hash</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)">digest</span><span cla [...]
+</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">hash</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)">digest</span><span cla [...]
 </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"> </span><span class="token function-variable function" style="color:rgb(130, 170, 255)">getUtf8Bytes</span><span class="token plain"> </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token parameter">str</span><span class="token plai [...]
 </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"> secretBytes </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">getUtf8Bytes</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">secr [...]
 </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"> cryptoKey </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">await</span><span class="token plain"> crypto</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span c [...]
 </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 punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token spread operator" style="color:rgb(137, 221, 255)">...</span><span class="token pla [...]
-</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 function" style="color:rgb(130, 170, 255)">btoa</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token known-class-name cl [...]
+</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 function" style="color:rgb(130, 170, 255)">btoa</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token known-class-name cl [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token variable" style="color:rgb(191, 199, 213)">$secret</span><span class="token plain"> </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token single-quoted-string string" style="color:rgb(195, 232, 141)">&#x27;the shared secret key here&#x27;</span><span class="token punctuation" style="color:rgb(199, 146, 2 [...]
 </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 function" style="color:rgb(130, 170, 255)">hash_hmac</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token sing [...]
-</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 function" style="color:rgb(130, 170, 255)">base64_encode</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token function"  [...]
+</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 function" style="color:rgb(130, 170, 255)">base64_encode</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token function"  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">--to lowercase hexits</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">ngx.say(digest)</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">--to base64</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct l [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">--to base64</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct link to heading">#</a [...]
 </span></div><div class="token-line" style="color:#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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 13f599e..807e84f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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"  [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 c89ae1d..389a9ac 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li></ul><h3><a aria-hidden="true" tabindex="-1" c [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 9b02d25..db720ac 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 fb0bbb4..a2b7916 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,22 +27,22 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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 [...]
 </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 [...]
 </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"># more actions find by `help`</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"> </span><span class="token builtin class-name" style="color:rgb(25 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    help:             Show Makefile rules</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    deps:             Installation dependencies</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    utils:            Installation tools</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    lint:             Li [...]
-see how to do it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="4-test"></a>4. Test<a class="hash-link" href="#4-test" title="Direct link to heading">#</a></h2><ol><li>Install perl&#x27;s package manager <code>cpanminus</code> first</li><li>Then install <code>test-nginx</code>&#x27;s dependencies via <code>cpanm</code>::<code>sudo cpanm --notest Test::Nginx IPC::Run &gt; build.log 2&gt;&amp;1 || (cat build.log &amp;&amp; exit 1)</code></li><li>Clone so [...]
-make sure to set openresty as default nginx. And export the path as below.</li></ul><ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH<ul><li>Linux default installation path:<ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH</li></ul></li><li>OSx default installation path via homebrew:<ul><li>export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH</li></ul></li></ul></li></ul><p><strong>Run Individual Test Cases</strong></p><ul><li>Use the following command to run test cases  [...]
+see how to do it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="4-test"></a>4. Test<a class="hash-link" href="#4-test" title="Direct link to heading">#</a></h2><ol><li>Install perl&#x27;s package manager <code>cpanminus</code> first</li><li>Then install <code>test-nginx</code>&#x27;s dependencies via <code>cpanm</code>::<code>sudo cpanm --notest Test::Nginx IPC::Run &gt; build.log 2&gt;&amp;1 || (cat build.log &amp;&amp; exit 1)</code></li><li>Clone source code:<code>git  [...]
+make sure to set openresty as default nginx. And export the path as below.</li></ul><ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH<ul><li>Linux default installation path:<ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH</li></ul></li><li>OSx default installation path via homebrew:<ul><li>export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH</li></ul></li></ul></li></ul><p><strong>Run Individual Test Cases</strong></p><ul><li>Use the following command to run test cases  [...]
 Here is an example:</p><div class="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" style="color:#bf [...]
-</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?api_key</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </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?api_key</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 2189c68..70929c6 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,16 +27,16 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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">
-</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"> --resolve </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;test.com:9443:127.0.0.1&#x27;</span><span class="token plain"> https://test.com:9443/hello  -vvv</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">* Added test.com:9443:127.0.0.1 to 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"> --resolve </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;test.com:9443:127.0.0.1&#x27;</span><span class="token plain"> https://test.com:9443/hello  -vvv</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">* Added test.com:9443:127.0.0.1 to D [...]
 that means it can accept more than one domain, eg: <code>www.test.com</code> or <code>mail.test.com</code>.</p><p>Here is an example, note that the value we pass as <code>sni</code> is <code>*.test.com</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 [...]
 </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 -i -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></di [...]
 </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">
-</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"> --resolve </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;www.test.com:9443:127.0.0.1&#x27;</span><span class="token plain"> https://www.test.com:9443/hello  -vvv</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">* Added test.com:9443:127.0. [...]
-and <code>mail.test.com</code>, then you can add them into the <code>snis</code> array. 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 punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><di [...]
+</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"> --resolve </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;www.test.com:9443:127.0.0.1&#x27;</span><span class="token plain"> https://www.test.com:9443/hello  -vvv</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">* Added test.com:9443:127.0. [...]
+and <code>mail.test.com</code>, then you can add them into the <code>snis</code> array. 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 punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><di [...]
 instance, supporting both the
 <a href="https://en.wikipedia.org/wiki/Elliptic-curve_cryptography" target="_blank" rel="noopener noreferrer">ECC</a>
 and RSA key-exchange algorithm, then just configure the extra certificates (the
@@ -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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 ef53a83..44f663b 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,29 +27,29 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
-</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&a [...]
+</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&a [...]
 </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 etcd</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)">wget</span><span class="token plain"> https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64 [...]
 </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 [...]
-</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&a [...]
+</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&a [...]
 </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 etcd</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)">wget</span><span class="token plain"> https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64 [...]
 </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"> </span><span class="token function" style="color:r [...]
 </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 [...]
-</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&a [...]
+</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&a [...]
 </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)">wget</span><span class="token plain"> -qO - https://openresty.org/package/pubkey.gpg </span><span class="token o [...]
 </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 etcd</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)">wget</span><span class="token plain"> https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64 [...]
 </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"> </span><span class="token function" style="color:r [...]
 </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 [...]
-</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&a [...]
+</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&a [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 8dbfada..4ee8dfe 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 5cf7a02..3bb5529 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,24 +27,24 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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
 configuration file in <strong>apisix/cli/ngx_tpl.lua</strong> file. But it is easy to have an impact on the overall situation according to the
-existing plugin mechanism, <strong>we do not recommend this unless you have a complete grasp of the code</strong>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="name-and-config"></a>name and config<a class="hash-link" href="#name-and-config" title="Direct link to heading">#</a></h2><p>Determine the name and priority of the plugin, and add to conf/config-default.yaml. For example, for the example-plugin plugin,
+existing plugin mechanism, <strong>we do not recommend this unless you have a complete grasp of the code</strong>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="name-and-config"></a>name and config<a class="hash-link" href="#name-and-config" title="Direct link to heading">#</a></h2><p>Determine the name and priority of the plugin, and add to conf/config-default.yaml. For example, for the example-plugin plugin,
 you need to specify the plugin name in the code (the name is the unique identifier of the plugin and cannot be
 duplicate), you can see the code in file &quot;<strong>apisix/plugins/example-plugin.lua</strong>&quot; :</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" st [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">local _M = {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    version = 0.1,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    priority = 0,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    name = plugin_name,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plai [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">plugins</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"># copied from config-default.yaml</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span cla [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token key atrule">plugins</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"># copied from config-default.yaml</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">  </span><span cla [...]
 configuration data:</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><sp [...]
 verification.</p><p>In addition, if the plugin needs to use some metadata, we can define the plugin <code>metadata_schema</code>, and then we can dynamically manage these metadata through the <code>admin api</code>. Example:</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:# [...]
 </span></div><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:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">local _M = {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    version = 0.1,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    priority = 0,        -- TODO: add a type field, may be a good idea</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    name = plugin_name,</span></div><div class="toke [...]
-When we set the type of plugin to <code>auth</code>, it means that this plugin is an authentication plugin.</p><p>An authentication plugin needs to choose a consumer after execution. For example, in key-auth plugin, it calls the <code>consumer.attach_consumer</code> to attach a consumer, which is chosen via the <code>apikey</code> header.</p><p>To interact with the <code>consumer</code> resource, this type of plugin needs to provide a <code>consumer_schema</code> to check the <code>plugi [...]
+When we set the type of plugin to <code>auth</code>, it means that this plugin is an authentication plugin.</p><p>An authentication plugin needs to choose a consumer after execution. For example, in key-auth plugin, it calls the <code>consumer.attach_consumer</code> to attach a consumer, which is chosen via the <code>apikey</code> header.</p><p>To interact with the <code>consumer</code> resource, this type of plugin needs to provide a <code>consumer_schema</code> to check the <code>plugi [...]
 recommended to know it in advance. For example key-auth is an authentication plugin, thus the authentication should be completed
 before forwarding the request to any upstream service. Therefore, the plugin must be executed in the rewrite phases.
-In APISIX, only the authentication logic can be run in the rewrite phase. Other logic needs to run before proxy should be in access phase.</p><p>The following code snippet shows how to implement any logic relevant to the plugin in the OpenResty log phase.</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 cl [...]
+In APISIX, only the authentication logic can be run in the rewrite phase. Other logic needs to run before proxy should be in access phase.</p><p>The following code snippet shows how to implement any logic relevant to the plugin in the OpenResty log phase.</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 cl [...]
 test cases of plugins are all in the &quot;<strong>t/plugin</strong>&quot; directory. You can go ahead to find out. APISIX uses
 <a href="https://github.com/openresty/test-nginx" target="_blank" rel="noopener noreferrer">*<strong>*test-nginx**</strong></a> as the test framework. A test case (.t file) is usually
 divided into prologue and data parts by __data__. Here we will briefly introduce the data part, that is, the part
@@ -52,17 +52,17 @@ of the real test case. For example, the key-auth plugin:</p><div class="mdxCodeB
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">            ngx.say(&quot;done&quot;)</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">    }</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">--- request</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">GET / [...]
 complete the Lua script, and finally return. The assertion of the use case is response_body return &quot;done&quot;,
 &quot;<strong>no_error_log</strong>&quot; means to check the &quot;<strong>error.log</strong>&quot; of Nginx. There must be no ERROR level record. The log files for the unit test
-are located in the following folder: &#x27;t/servroot/logs&#x27;.</p><p>The above test case represents a simple scenario. Most scenarios will require multiple steps to validate. To do this, create multiple tests <code>=== TEST 1</code>, <code>=== TEST 2</code>, and so on. These tests will be executed sequentially, allowing you to break down scenarios into a sequence of atomic steps.</p><p>Additionally, there are some convenience testing endpoints which can be found <a href="https://githu [...]
+are located in the following folder: &#x27;t/servroot/logs&#x27;.</p><p>The above test case represents a simple scenario. Most scenarios will require multiple steps to validate. To do this, create multiple tests <code>=== TEST 1</code>, <code>=== TEST 2</code>, and so on. These tests will be executed sequentially, allowing you to break down scenarios into a sequence of atomic steps.</p><p>Additionally, there are some convenience testing endpoints which can be found <a href="https://githu [...]
 framework will assemble into a complete nginx.conf file. &quot;<strong>t/servroot</strong>&quot; is the working directory of Nginx and start the
 Nginx instance. according to the information provided by the test case, initiate the http request and check that the
-return items of HTTP include HTTP status, HTTP response header, HTTP response body and so on.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="register-public-api"></a>Register public API<a class="hash-link" href="#register-public-api" title="Direct link to heading">#</a></h3><p>A plugin can register API which exposes to the public. Take jwt-auth plugin as an example, this plugin registers <code>GET /apisix/plugin/jwt/sign</code> to allow client to sign i [...]
+return items of HTTP include HTTP status, HTTP response header, HTTP response body and so on.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="register-public-api"></a>Register public API<a class="hash-link" href="#register-public-api" title="Direct link to heading">#</a></h3><p>A plugin can register API which exposes to the public. Take jwt-auth plugin as an example, this plugin registers <code>GET /apisix/plugin/jwt/sign</code> to allow client to sign its key:</p><div clas [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">function _M.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 class="to [...]
-You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/control-api">Control API</a>.</p><p>Take a look at example-plugin  [...]
+You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/control-api">Control API</a>.</p><p>Take a look at example-plugin plugin:</p><div clas [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 564f2da..db2e076 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 f6e936c..6c6055a 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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" id= [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 6f60158..6dcc15f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,18 +27,18 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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> [...]
+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" 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>Req [...]
 Keycloak&#x27;s discovery document for Authorization Services for the respective realm. This is the recommended
 option and typically most convenient.</p><p>If the discovery document is available, the plugin determines the token endpoint URL from it. If present, the
 <code>token_endpoint</code> attribute overrides the URL.</p><p>Analogously, the plugin determines the registration endpoint from the discovery document. The
-<code>resource_registration_endpoint</code> overrides, if present.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="client-id-and-secret"></a>Client ID and Secret<a class="hash-link" href="#client-id-and-secret" title="Direct link to heading">#</a></h3><p>The plugin needs the <code>client_id</code> attribute to identify itself when interacting with Keycloak.
+<code>resource_registration_endpoint</code> overrides, if present.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="client-id-and-secret"></a>Client ID and Secret<a class="hash-link" href="#client-id-and-secret" title="Direct link to heading">#</a></h3><p>The plugin needs the <code>client_id</code> attribute to identify itself when interacting with Keycloak.
 For backwards compatibility, you can still use the <code>audience</code> attribute as well instead. The plugin
 prefers <code>client_id</code> over <code>audience</code> if both are configured.</p><p>The plugin always needs the <code>client_id</code> or <code>audience</code> to specify the context in which Keycloak
 should evaluate permissions.</p><p>If <code>lazy_load_paths</code> is <code>true</code> then the plugin additionally needs to obtain an access token for
 itself from Keycloak. In this case, if the client access to Keycloak is confidential, the plugin
-needs the <code>client_secret</code> attribute as well.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="policy-enforcement-mode"></a>Policy Enforcement Mode<a class="hash-link" href="#policy-enforcement-mode" title="Direct link to heading">#</a></h3><p>Specifies how policies are enforced when processing authorization requests sent to the server.</p><p><strong>Enforcing</strong></p><ul><li>(default mode) Requests are denied by default even when there is n [...]
+needs the <code>client_secret</code> attribute as well.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="policy-enforcement-mode"></a>Policy Enforcement Mode<a class="hash-link" href="#policy-enforcement-mode" title="Direct link to heading">#</a></h3><p>Specifies how policies are enforced when processing authorization requests sent to the server.</p><p><strong>Enforcing</strong></p><ul><li>(default mode) Requests are denied by default even when there is no policy associated  [...]
 statically, or dynamically from properties of the request.</p><p>If <code>lazy_load_paths</code> is <code>false</code>, the plugin takes the permissions from the <code>permissions</code> attribute. Each entry
 needs to be formatted as expected by the token endpoint&#x27;s <code>permission</code> parameter;
 see <a href="https://www.keycloak.org/docs/latest/authorization_services/index.html#_service_obtaining_permissions" target="_blank" rel="noopener noreferrer">https://www.keycloak.org/docs/latest/authorization_services/index.html#_service_obtaining_permissions</a>.
@@ -47,16 +47,16 @@ in Keycloak. It uses the resource registration endpoint to do so. The plugin use
 as the permissions to check.</p><p>Note that this requires that the plugin can obtain a separate access token for itself from the token endpoint.
 Therefore, in the respective client settings in Keycloak, make sure to set the <code>Service Accounts Enabled</code>
 option. Also make sure that the issued access token contains the <code>resource_access</code> claim with the
-<code>uma_protection</code> role. Otherwise, plugin may be unable to query resources through the Protection API.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="automatic-mapping-of-http-method-to-scope"></a>Automatic Mapping of HTTP Method to Scope<a class="hash-link" href="#automatic-mapping-of-http-method-to-scope" title="Direct link to heading">#</a></h3><p>This option is often used together with <code>lazy_load_paths</code>, but can also be used wit [...]
+<code>uma_protection</code> role. Otherwise, plugin may be unable to query resources through the Protection API.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="automatic-mapping-of-http-method-to-scope"></a>Automatic Mapping of HTTP Method to Scope<a class="hash-link" href="#automatic-mapping-of-http-method-to-scope" title="Direct link to heading">#</a></h3><p>This option is often used together with <code>lazy_load_paths</code>, but can also be used with a static permissio [...]
 of the same name. The scope is then added to every permission to check.</p><p>If <code>lazy_load_paths</code> is <code>false</code>, the plugin adds the mapped scope to any of the static permissions configured
-in the <code>permissions</code> attribute, even if they contain one or more scopes already.</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>Create a <code>route</code> and enable the <code>authz-keycloak</code> plugin on the route:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code la [...]
-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 - [...]
-API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="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 plain">docker run -e </span><span class="token assign- [...]
+in the <code>permissions</code> attribute, even if they contain one or more scopes already.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>route</code> and enable the <code>authz-keycloak</code> plugin on the route:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlo [...]
+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 - [...]
+API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="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 plain">docker run -e </span><span class="token assign- [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 ee463ca..93d2ba2 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 43e1ac2..59d830d 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Default enabled</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-configure"></a>How To Configure<a class="hash-link" href="#how-to-configure" title="Direct link to heading">#</a></h2><p>By default [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 be7b51a..82b2269 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 095fdf2..0663f97 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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>  [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and configure <code>cors</code> plugin.</p><div clas [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 627b91b..cc78c96 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,16 +27,16 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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> [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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 [...]
+</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" 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 dubbo-proxy plugin on [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 b9ddb47..d2b8f5b 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 e50fbcf..8d90490 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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, [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr><tr> [...]
+It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 6ce4d28..75a295c 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
@@ -47,10 +47,10 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">real    0m2.006s</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">user    0m0.001s</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">sys     0m0.005s</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Example 6: Enable the <code>fault-injection</code> plu [...]
 </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="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="mdxCodeBlock_ [...]
 </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  [...]
+</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" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediate [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 71e6f74..12d0f6e 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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"  [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 b7bd449..ee632e0 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,22 +27,22 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <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 [...]
+<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 [...]
 </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 [...]
+</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 [...]
 </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">Content-Type: text/html</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(191, 199, 21 [...]
 </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 [...]
-</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 [...]
+</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 [...]
 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. [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 6303296..de6a714 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 bbc7cca..cd97a9a 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/stand-alone">stand alone mode</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 d31ed0d..c822c4f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,17 +27,17 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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 [...]
+in CIDR notation like 10.10.10.0/24 can be used.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>whitelist</td><td>array[string]</td><td>optional</td><td></td><td></td><td>List of IPs or CIDR ranges to whitelist.</td></tr><tr><td [...]
+together.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>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:#bfc7d5;background-col [...]
 you can send the corresponding json configuration in the plugin configuration,
-no need to restart the service, it will take effect immediately:</p><div class="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 [...]
+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 [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 c4e57f0..d6d1e1d 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,18 +27,18 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" 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-shell codeBlock_23N [...]
+<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" id="try-request-with-token"></a>try request with token<a class="hash-link" href="#try-reques [...]
 </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 [...]
-</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 [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 b0c0c49..5f6a93e 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,17 +27,17 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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.
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>broker_list</td><td>object</td><td>required</td><td></td><td></td><td>An array of Kafka brokers.</td></tr><tr><td>kafka_to [...]
+</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" 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>,
 or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success, returns <code>true</code>.
-In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
-sample to take effect of this functionality.</p><div class="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=" [...]
+In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
+sample to take effect of this functionality.</p><div class="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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 02c3616..55d7ed3 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <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 [...]
+<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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 9a0eefc..0bd97d0 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <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"></ [...]
+<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" 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.</p><div class="mdxCo [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 fdb7be6..397b1d9 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,16 +27,16 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <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 [...]
+<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 [...]
-</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"> [...]
+</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"> [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 a77c58b..875496b 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 337038f..95ddebd 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" 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><td></td><td>How of [...]
+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></ [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 b827a0f..9ff6756 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+balance by <code>client_id</code> of MQTT.</p><p>And this plugin both support MQTT protocol <a href="http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html" target="_blank" rel="noopener noreferrer">3.1.*</a> and <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html" target="_blank" rel="noopener noreferrer">5.0</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link t [...]
+For example, the following configuration represents listening on the 9100 TCP port.</p><div class="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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 087a82f..f5b99c2 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,17 +27,17 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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>,
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" 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 [...]
-</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" [...]
+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" 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-sh codeBlock_23N8 t [...]
+</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" [...]
 then you can not 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"> [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 53a5825..bd6bf66 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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
@@ -42,21 +42,21 @@ when accessing for the first time.</p><p>The plugin can also be configured to su
 either an introspection endpoint or a public key. In this case, introspection of an existing token from a request
 header takes precedence over the Relying Party flow. That is, if a request contains an invalid token, the request
 will be rejected without redirecting to the ID provider to obtain a valid token.</p><p>The method used to authenticate a request also affects the headers that can be enforced on the request before
-sending it to upstream. The headers that can be enforced are mentioned below in each relevant section.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="token-introspection"></a>Token Introspection<a class="hash-link" href="#token-introspection" title="Direct link to heading">#</a></h3><p>Token introspection helps to validate a request by verifying the token against an Oauth 2 authorization server.
+sending it to upstream. The headers that can be enforced are mentioned below in each relevant section.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="token-introspection"></a>Token Introspection<a class="hash-link" href="#token-introspection" title="Direct link to heading">#</a></h3><p>Token introspection helps to validate a request by verifying the token against an Oauth 2 authorization server.
 As prerequisite, you should create a trusted client in the identity server and generate a valid token(JWT) for introspection.
 The following image shows an example(successful) flow of the token introspection via the gateway.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/oauth-1.png" alt="token introspection"></p><p>The following is the curl command to enable the plugin to an external service.
-This route will protect <code>https://httpbin.org/get</code>(echo service) by introspecting the token provided in the header of the request.</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><s [...]
+This route will protect <code>https://httpbin.org/get</code>(echo service) by introspecting the token provided in the header of the request.</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><s [...]
 a token introspection endpoint, the public key workflow will be executed instead of verifying with the identity server.
-This method can be used if you want to reduce additional network calls and to speedup the process.</p><p>The following configurations shows how to add a public key introspection 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 functio [...]
+This method can be used if you want to reduce additional network calls and to speedup the process.</p><p>The following configurations shows how to add a public key introspection 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 functio [...]
 the plugin can act as an OIDC Relying Party and redirect to the authorization endpoint of the identity provider
 to go through the OIDC Authorization Code flow; see <a href="https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth" target="_blank" rel="noopener noreferrer">https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth</a>.
 Once the user has authenticated against the identity provider, the plugin will obtain and manage an access token
 and further information from the identity provider on behalf of the user. The information is currently stored
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
-and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="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 [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 3db1790..77e376a 100644
--- a/docs/apisix/plugins/prometheus/index.html
+++ b/docs/apisix/plugins/prometheus/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">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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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 [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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-cache/index.html b/docs/apisix/plugins/proxy-cache/index.html
index c3450d8..ff94061 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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"> [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 094f192..4c7788f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+For example, we can start a simple server:  python -m SimpleHTTPServer 9797</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="p [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 3025e5b..2123068 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 5563e33..df8d45d 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 7ee134a..6e60ccb 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+whitelisting request header Referrers.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>whitelist</td><td>array[string]</td><td>required</td><td></td><td></td><td>List of hostname to whitelist. The hostname can be started with <co [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 cc94f0e..5794f53 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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< [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td>string</td><td>optional</td><td>&quot;X-Requ [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 dc06c7e..1a01a76 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 - [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+json-schema to validate the schema. The plugin can be used to validate the headers and body data.</p><p>For more information on schema, refer to <a href="https://github.com/api7/jsonschema" target="_blank" rel="noopener noreferrer">JSON schema</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requi [...]
+APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 5119814..7ef4b0a 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+</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" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href= [...]
 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 </ [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 0608fa1..6620f69 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 57dd581..5d98080 100644
--- a/docs/apisix/plugins/serverless/index.html
+++ b/docs/apisix/plugins/serverless/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">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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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,
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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/skywalking/index.html b/docs/apisix/plugins/skywalking/index.html
index 9d26bda..d6ff930 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,25 +27,25 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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> [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" 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><td>1</td><td>[0.000 [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-1.png" alt=" ">\
 Then add skywalking plugin:\
-<img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-2.png" alt=" "></p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="how-to-set-endpoint"></a>How to set endpoint<a class="hash-link" href="#how-to-set-endpoint" title="Direct link to heading">#</a></h2><p>We can set the endpoint by specified the configuration in <code>conf/config.yaml</code>.</p><table><thead><tr><th>Name</th><th>Type</th><th>Default</th><th [...]
+<img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-2.png" alt=" "></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-set-endpoint"></a>How to set endpoint<a class="hash-link" href="#how-to-set-endpoint" title="Direct link to heading">#</a></h2><p>We can set the endpoint by specified the configuration in <code>conf/config.yaml</code>.</p><table><thead><tr><th>Name</th><th>Type</th><th>Default</th><th>Description</th></t [...]
 You can open dashboard with a browser: <a href="http://10.110.149.175:8080" target="_blank" rel="noopener noreferrer">http://10.110.149.175:8080</a>. It will be a successful install as follow:
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-3.png" alt=" "></p></li></ol></li><li><p>Test:</p><ul><li><p>Access to upstream services through access apisix:</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"><s [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-4.png" alt=" ">\
 You can also see the tracer of all service\
-<img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-5.png" alt=" "></p></li></ul></li></ol><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 skyWalking plugin on a route/service, it is very simple,
+<img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-5.png" alt=" "></p></li></ul></li></ol><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the skyWalking plugin on a route/service, 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 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 [...]
+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 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">import</span><span class="token plain"> </span><span class="token namespace" style="color:rgb(178, 204, 214)">org</span><span class="token namespace punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token namespace" style="color:rgb(178, 204, 214)">springframework</span><span class="token namespace punctuation" style="color:rgb [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 68b804d..e3f37bd 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a href="https://help.aliyun.com/document_detail/29008.htm [...]
+</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeB [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 3c0d2b5..700f94f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 4a80ff1..e674c3f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr><tr> [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 6d84bed..5ebb2e6 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,24 +27,24 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">world </span><span class="token number" style="color:rgb(247, 140, 108)">1981</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 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></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 [...]
+</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><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><h3><a aria-hidden="true" tabindex="-1" class="anchor [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">world </span><span class="token number" style="color:rgb(247, 140, 108)">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>The <code>match</code> rule fails to match, and all requests hit the 1980 port upstream configured on the <code>route</code>:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"> [...]
-</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><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="custom-release"></a>Custom Release<a class="hash-link" href="#custom-release" title="Direct link to heading">#</a></h3> [...]
+</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><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="custom-release"></a>Custom Release<a class="hash-link" href="#custom-release" title="Direct link to heading">#</a></h3><p>Multiple <code>va [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">world </span><span class="token number" style="color:rgb(247, 140, 108)">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>The match rule fails to verify, and it hits the upstream of the default port of <code>1980</code>.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="pr [...]
 </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><p><strong>Example 2: Configure multiple <code>vars</code> r [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">world </span><span class="token number" style="color:rgb(247, 140, 108)">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><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:#bfc [...]
 </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="2"><li>The second expression of <code [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">world </span><span class="token number" style="color:rgb(247, 140, 108)">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><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:#bfc [...]
 </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> [...]
+</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" 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  [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 b2ae181..f13db9e 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<a href="/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the UDP server.</td></tr><tr> [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 d563bb8..f070947 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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" id= [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 d6eb3c6..ee40cbc 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</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 [...]
-</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">Date: Wed, </span><span class="token number" style="color:rgb(247, 140, 108)">24</span><span class="token plain"> Jul </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span class [...]
+<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 [...]
+</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">Date: Wed, </span><span class="token number" style="color:rgb(247, 140, 108)">24</span><span class="token plain"> Jul </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span class [...]
 </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)">401</span><span class="token plain"> Unauthorized</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"></sp [...]
 </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" style="display:inline-block">
 </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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ul><li>reques [...]
@@ -43,16 +43,16 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ul><li>reques [...]
 </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" style="display:inline-block">
-</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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h4><a aria-hi [...]
+</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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h4><a aria-hi [...]
 </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 plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span [...]
+</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 plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span [...]
 </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 [...]
+</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 [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 2768df1..bb4f318 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,9 +27,9 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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. [...]
+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">
 </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">
@@ -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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 f2b3429..e43ffd7 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 67d432b..c2a6963 100644
--- a/docs/apisix/router-radixtree/index.html
+++ b/docs/apisix/router-radixtree/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 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<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" 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 codeBlock_23N8 thin-scrollba [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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/stand-alone/index.html b/docs/apisix/stand-alone/index.html
index a471c2e..20feac9 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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 [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 1afef2c..f0e5914 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 815ffdb..8794215 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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 [...]
+<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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 2a5bb7a..a39ba2f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 a227b32..4c792da 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 d2e3880..5b50313 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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"></ [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 fcc22ba..3c43559 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 18444b4..8338912 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 b1d2e0d..f5dfa69 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,17 +27,17 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.
-For more details, 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">./setup.sh help</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>(If you are setting  [...]
-high expressiveness which makes reading and writing tests a pleasure.</p><ul><li><p>Enter the E2ENEW folder and execute the command to run all the E2ENEW test suites recursively.</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"> cd /(Your ap [...]
+For more details, 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">./setup.sh help</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>(If you are setting  [...]
+high expressiveness which makes reading and writing tests a pleasure.</p><ul><li><p>Enter the E2ENEW folder and execute the command to run all the E2ENEW test suites recursively.</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"> cd /(Your ap [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 3631ec5..4d1f1e2 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+</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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 1e46f44..32a622d 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 2f1cbec..0cbf9b0 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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= [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 56909f9..1501500 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 b18b084..41afb6c 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 647634c..5a8e729 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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.aa485ddb.js" as="script">
+<link rel="preload" href="/assets/js/3dc9f306.65510f29.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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.aa485ddb.js"></script>
+<script src="/assets/js/3dc9f306.65510f29.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 937a3d3..5b731bd 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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.7e177f7f.js" as="script">
+<link rel="preload" href="/assets/js/8e784bf3.4a4e7e67.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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.7e177f7f.js"></script>
+<script src="/assets/js/8e784bf3.4a4e7e67.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 d3ccf24..558ee8d 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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.a35e8398.js" as="script">
+<link rel="preload" href="/assets/js/adbb350b.9f629678.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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.a35e8398.js"></script>
+<script src="/assets/js/adbb350b.9f629678.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 4a06777..ca8821c 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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.faed2bad.js" as="script">
+<link rel="preload" href="/assets/js/19945770.dc5e1ece.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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.faed2bad.js"></script>
+<script src="/assets/js/19945770.dc5e1ece.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 fb843a9..0786ae2 100644
--- a/docs/general/release-guide/index.html
+++ b/docs/general/release-guide/index.html
@@ -16,27 +16,27 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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.29aae170.js" as="script">
+<link rel="preload" href="/assets/js/7af3052c.74223a27.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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=" [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">You need a Passphrase to protect your secret key. # Enter passphrase</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_ [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">/home/resty/.gnupg/pubring.gpg</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">pub 4096R/30B5FD72 2020-01-02</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">uid Yuansheng Wang &lt;membphis@apache.org&gt;</span></div><div [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">gpg: sending key 30B5FD72 to hkp server pool.sks-keyservers.net</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p><code>pool.sks-keyservers.net</code> is one of the pub key servers, the pub key will be automatically synchronized between each server, just choose anyone.</p><h3><a aria-hidden="true" tabindex="-1" class="anc [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">/home/resty/.gnupg/pubring.gpg</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">pub 4096R/30B5FD72 2020-01-02</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Key fingerprint = 0F91 BE0A 55A7 B22F DE1A CEEC 3352 48FD 30B5  [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">You need a Passphrase to protect your secret key. # Enter passphrase</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="view-the-g [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">/home/resty/.gnupg/pubring.gpg</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">pub 4096R/30B5FD72 2020-01-02</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">uid Yuansheng Wang &lt;membphis@apache.org&gt;</span></div><div [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">gpg: sending key 30B5FD72 to hkp server pool.sks-keyservers.net</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p><code>pool.sks-keyservers.net</code> is one of the pub key servers, the pub key will be automatically synchronized between each server, just choose anyone.</p><h3><a aria-hidden="true" tabindex="-1" class="anc [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">/home/resty/.gnupg/pubring.gpg</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">pub 4096R/30B5FD72 2020-01-02</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Key fingerprint = 0F91 BE0A 55A7 B22F DE1A CEEC 3352 48FD 30B5  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ ls</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">KEYS</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Export the public key and append it to the KEYS file.</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-c [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">KEYS</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Export the public key and append it to the KEYS file.</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-c [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># download repo</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">git clone -b v$APISIX_VERSION git@github.com:apache/apisix.git apache-apisix-$APISIX_VERSION</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"># check version</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ cd apache-apisix-$APISIX_VERSION &amp;&amp; ./utils/check-version.sh $APISIX_VERSION &amp;&amp; cd ..</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"># make tar package / asc / sha512</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ cd apache-apisix-$APISIX_VERSION &amp;&amp; make release-src VERSION=$APISIX_VERSION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ mv ./release/* ../ &amp;&amp; cd ..</span></div><div class="token-line" style="color:#bfc7d5"><span class="token pla [...]
@@ -44,7 +44,7 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># check files</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ cd .. &amp;&amp; tree</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">├── 1.0</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">│   ├── apache-apisix-1 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">1 directory, 4 files</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"># add files to SVN</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ svn add *</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">A         1.0</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">A  (bin)  1.0/apache-apisix-1.0-src.tar.gz.asc</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># commit to Apache SVN</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ svn --username=${Apache username} commit -m &quot;release 1.0&quot;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Adding         1.0</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Adding  (bin)  1.0/apache-apisix-1.0-src.ta [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># commit to Apache SVN</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ svn --username=${Apache username} commit -m &quot;release 1.0&quot;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Adding         1.0</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Adding  (bin)  1.0/apache-apisix-1.0-src.ta [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Release notes:</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">https://github.com/apache/apisix/blob/2.4/CHANGELOG.md#240</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">The release candidates:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
@@ -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" 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/r9153da737a4590dbbba7272acc0 [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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.29aae170.js"></script>
+<script src="/assets/js/7af3052c.74223a27.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 c510745..e2c9212 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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.82366230.js" as="script">
+<link rel="preload" href="/assets/js/66fbb9c2.8ed107c1.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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.82366230.js"></script>
+<script src="/assets/js/66fbb9c2.8ed107c1.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 ba96aac..7594e25 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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.d5f2ed25.js" as="script">
+<link rel="preload" href="/assets/js/50facf8e.1d11c0c7.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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.d5f2ed25.js"></script>
+<script src="/assets/js/50facf8e.1d11c0c7.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 90137f4..5eda0cc 100644
--- a/docs/index.html
+++ b/docs/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//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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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,10 +25,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 71eacf6..1609464 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 0c6c91a..f865f2e 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 bac86a2..1dfd450 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,33 +27,33 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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
+functions are implemented in a more native way, with stronger semantics.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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
 <code>/foo</code> prefix should be routed to service <code>foo</code> while requests which path is <code>/bar</code>
 should be routed to service <code>bar</code>, in the manner of <code>ApisixRoute</code>, the configuration
 should be:</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/v2alpha1</span></div><div class="token- [...]
 while if <code>prefix</code> is desired, just append a <code>*</code>, for instance, <code>/id/*</code> matches
-all paths with the prefix of <code>/id/</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="advanced-route-features"></a>Advanced route features<a class="hash-link" href="#advanced-route-features" title="Direct link to heading">#</a></h2><p>Path based route are most common, but if it&#x27;s not enough, try
+all paths with the prefix of <code>/id/</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-route-features"></a>Advanced route features<a class="hash-link" href="#advanced-route-features" title="Direct link to heading">#</a></h2><p>Path based route are most common, but if it&#x27;s not enough, try
 other route features in <code>ApisixRoute</code> such as <code>methods</code>, <code>exprs</code>.</p><p>The <code>methods</code> splits traffic according to the HTTP method, the following configurations routes requests
 with <code>GET</code> method to <code>foo</code> service (a Kubernetes Service).</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="t [...]
 It&#x27;s composed by several expressions, which in turn composed by subject, operator and value/set.</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)">: [...]
-query <code>id</code> must be equal to <code>2143</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="service-resolution-granularity"></a>Service Resolution Granularity<a class="hash-link" href="#service-resolution-granularity" title="Direct link to heading">#</a></h2><p>By default a referenced Service will be watched, so
+query <code>id</code> must be equal to <code>2143</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="service-resolution-granularity"></a>Service Resolution Granularity<a class="hash-link" href="#service-resolution-granularity" title="Direct link to heading">#</a></h2><p>By default a referenced Service will be watched, so
 it&#x27;s newest endpoints list can be updated to Apache APISIX.
 apisix-ingress-controller provides another mechanism that just use
 the <code>ClusterIP</code> of this service, if that&#x27;s what you want, just set
-the <code>resolveGranularity</code> to <code>service</code> (default is <code>endpoint</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">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span [...]
+the <code>resolveGranularity</code> to <code>service</code> (default is <code>endpoint</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">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span [...]
 when multiple backends co-exist there, the traffic split based on weights
 will be applied (which actually uses the <a href="http://apisix.apache.org/docs/apisix/plugins/traffic-split/" target="_blank" rel="noopener noreferrer">traffic-split</a> plugin in Apache APISIX).
 You can specify weight for each backend, the default weight is <code>100</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">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="t [...]
 which means <code>2/3</code> requests (with <code>GET</code> method and <code>User-Agent</code> matching regex pattern <code>.*Chrome.*</code>) will be sent to service <code>foo</code> and <code>1/3</code> requests
-will be proxied to serivce <code>bar</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="plugins"></a>Plugins<a class="hash-link" href="#plugins" title="Direct link to heading">#</a></h2><p>Apache APISIX provides more than 40 <a href="https://github.com/apache/apisix/tree/master/docs/en/latest/plugins" target="_blank" rel="noopener noreferrer">plugins</a>, which can be used
+will be proxied to serivce <code>bar</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="plugins"></a>Plugins<a class="hash-link" href="#plugins" title="Direct link to heading">#</a></h2><p>Apache APISIX provides more than 40 <a href="https://github.com/apache/apisix/tree/master/docs/en/latest/plugins" target="_blank" rel="noopener noreferrer">plugins</a>, which can be used
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 d87562a..2c29631 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 36385b7..ca16020 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,25 +27,25 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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  [...]
+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" 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 to scatter requests  [...]
 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 [...]
 endpoints, once there are three consecutive requests with bad status code (one of <code>500</code>, <code>502</code>, <code>503</code>, <code>504</code>), the endpoint
 will be set to unhealthy and no requests can be routed there until it&#x27;s healthy again.</p><p>That&#x27;s why the active health checker comes in, endpoints might be down for a short while and ready again, the active health checker detects these unhealthy endpoints continuously, and pull them
 up once the healthy conditions are met (three consecutive requests got good status codes, e.g. <code>200</code> and <code>206</code>).</p><p>Note the active health checker is somewhat duplicated with the liveness/readiness probes but it&#x27;s required if the passive feedback mechanism is in use. So once you use the health check feature in ApisixUpstream,
-the active health checker is mandatory.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="configuring-retry-and-timeout"></a>Configuring Retry and Timeout<a class="hash-link" href="#configuring-retry-and-timeout" title="Direct link to heading">#</a></h3><p>You may want the proxy to retry when requests occur faults like transient network errors
+the active health checker is mandatory.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuring-retry-and-timeout"></a>Configuring Retry and Timeout<a class="hash-link" href="#configuring-retry-and-timeout" title="Direct link to heading">#</a></h3><p>You may want the proxy to retry when requests occur faults like transient network errors
 or service unavailable, by default the retry count is <code>1</code>. You can change it by specifying the <code>retries</code> field.</p><p>The following configuration configures the <code>retries</code> to <code>3</code>, which indicates there&#x27;ll be at most <code>3</code> requests sent to
 Kubernetes service <code>httpbin</code>&#x27;s endpoints.</p><p>One should bear in mind that passing a request to the next endpoint is only possible
 if nothing has been sent to a client yet. That is, if an error or timeout occurs in the middle
 of the transferring of a response, fixing this is impossible.</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 [...]
-just change them in the <code>timeout</code> field.</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.or [...]
+just change them in the <code>timeout</code> field.</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.or [...]
 In that case, you can create configurations for individual 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 key atrule">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> api [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 f3cbb96..a99f6fc 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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
+contributing.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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 [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 bd18e9d..781be00 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 e107b9d..83464a1 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 2f6342b..51300ea 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 ebaed03..45f029a 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 0abecd7..5ebc099 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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  [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" 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" rel="noopener nore [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 1ad4fcd..5c7bd77 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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" [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" id="install-apisix- [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 606d761..f5832c3 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 af234e3..513d85c 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 f04b87b..0ad059f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 1733052..d230377 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 131a431..b09f568 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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 [...]
+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" 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 Ingress (both v1 and v1 [...]
 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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 a6b42e9..ea063a3 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 a18dac3..2869425 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 65cf2ff..c32d142 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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> [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 b15865b..76b7ad9 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 9d0f72d..737d990 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 404ee7c..afc2efe 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 80cd162..d7ac784 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 cd6a047..dc02ab5 100644
--- a/downloads/ProjectCard/index.html
+++ b/downloads/ProjectCard/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"></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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -26,8 +26,8 @@
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 47a3cad..002257f 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -26,14 +26,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 6d03a72..448fcf1 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 70f9cca..a2d7ded 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 ec05c6a..b813756 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 c6d29aa..93e6295 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 26b8fe1..47c4568 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 ccc75d8..38025a5 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 828c6d2..8559775 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 d230426..0eac840 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 6e304bf..73a6cc2 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -35,10 +35,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 9aec8a6..82271a2 100644
--- a/help/index.html
+++ b/help/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//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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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,10 +25,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 76f5ff9..3f6e23a 100644
--- a/index.html
+++ b/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//"><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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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">
@@ -25,10 +25,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?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> [...]
+<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 navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 4b5eba1..d3936ad 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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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 e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 a7b724e..09d6c8a 100644
--- a/team/index.html
+++ b/team/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//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.2e2bf43b.js" as="script">
-<link rel="preload" href="/assets/js/main.e23c139f.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.1b59a140.js" as="script">
+<link rel="preload" href="/assets/js/main.f4eaff19.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,10 +25,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/assets/js/styles.f56fa583.js"></script>
-<script src="/assets/js/runtime~main.2e2bf43b.js"></script>
-<script src="/assets/js/main.e23c139f.js"></script>
+<script src="/assets/js/runtime~main.1b59a140.js"></script>
+<script src="/assets/js/main.f4eaff19.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 c45bdab..a167891 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/assets/js/19945770.22de58eb.js b/zh/assets/js/19945770.89a6c24d.js
similarity index 98%
rename from zh/assets/js/19945770.22de58eb.js
rename to zh/assets/js/19945770.89a6c24d.js
index 9da1bdb..7b27ec9 100644
--- a/zh/assets/js/19945770.22de58eb.js
+++ b/zh/assets/js/19945770.89a6c24d.js
@@ -1 +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
+(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/3dc9f306.acf1f148.js b/zh/assets/js/3dc9f306.1a128b7b.js
similarity index 98%
rename from zh/assets/js/3dc9f306.acf1f148.js
rename to zh/assets/js/3dc9f306.1a128b7b.js
index 1df3f3d..fa59594 100644
--- a/zh/assets/js/3dc9f306.acf1f148.js
+++ b/zh/assets/js/3dc9f306.1a128b7b.js
@@ -1 +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
+(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.517cddb8.js b/zh/assets/js/50facf8e.8c7fa73d.js
similarity index 98%
rename from zh/assets/js/50facf8e.517cddb8.js
rename to zh/assets/js/50facf8e.8c7fa73d.js
index 347a7c9..85888bf 100644
--- a/zh/assets/js/50facf8e.517cddb8.js
+++ b/zh/assets/js/50facf8e.8c7fa73d.js
@@ -1 +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
+(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.cfad59db.js b/zh/assets/js/66fbb9c2.cf68ee4a.js
similarity index 98%
rename from zh/assets/js/66fbb9c2.cfad59db.js
rename to zh/assets/js/66fbb9c2.cf68ee4a.js
index 43cdf2e..5cb4ee8 100644
--- a/zh/assets/js/66fbb9c2.cfad59db.js
+++ b/zh/assets/js/66fbb9c2.cf68ee4a.js
@@ -1 +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
+(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.1da6f319.js
similarity index 99%
rename from zh/assets/js/7af3052c.04322a3b.js
rename to zh/assets/js/7af3052c.1da6f319.js
index 5ab3ce4..1913120 100644
--- a/zh/assets/js/7af3052c.04322a3b.js
+++ b/zh/assets/js/7af3052c.1da6f319.js
@@ -1 +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
+(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.7e06a60b.js
similarity index 99%
rename from zh/assets/js/8e784bf3.2f83f7ef.js
rename to zh/assets/js/8e784bf3.7e06a60b.js
index f8fa3b0..bb12263 100644
--- a/zh/assets/js/8e784bf3.2f83f7ef.js
+++ b/zh/assets/js/8e784bf3.7e06a60b.js
@@ -1 +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
+(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.8ebc486e.js
similarity index 99%
rename from zh/assets/js/adbb350b.9d0a1999.js
rename to zh/assets/js/adbb350b.8ebc486e.js
index 5593977..7025766 100644
--- a/zh/assets/js/adbb350b.9d0a1999.js
+++ b/zh/assets/js/adbb350b.8ebc486e.js
@@ -1 +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
+(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/main.f9a260b0.js b/zh/assets/js/main.1ed3b37c.js
similarity index 97%
rename from zh/assets/js/main.f9a260b0.js
rename to zh/assets/js/main.1ed3b37c.js
index c1a33fa..ebe0538 100644
--- a/zh/assets/js/main.f9a260b0.js
+++ b/zh/assets/js/main.1ed3b37c.js
@@ -1,2 +1,2 @@
-/*! 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
+/*! For license information please see main.1ed3b37c.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.e23c139f.js.LICENSE.txt b/zh/assets/js/main.1ed3b37c.js.LICENSE.txt
similarity index 100%
rename from assets/js/main.e23c139f.js.LICENSE.txt
rename to zh/assets/js/main.1ed3b37c.js.LICENSE.txt
diff --git a/zh/assets/js/runtime~main.c782b49d.js b/zh/assets/js/runtime~main.b54606be.js
similarity index 85%
rename from zh/assets/js/runtime~main.c782b49d.js
rename to zh/assets/js/runtime~main.b54606be.js
index 58b9e57..35e4ea1 100644
--- a/zh/assets/js/runtime~main.c782b49d.js
+++ b/zh/assets/js/runtime~main.b54606be.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(b,r)&&b[r]&&l.push(b[r][0]),b[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 d.push.apply(d,o||[]),a()}function a(){for(var e,f=0;f<d.length;f++){for(var a=d[f],c=!0,r=1;r<a.length;r++){var n=a[r];0!==b[n]&&(c=!1)}c&&(d.splice(f--,1),e=t(t.s=a[0]))}return e}var c={},b={182:0},d=[];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 d8fb4ce..f715cc7 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 63d2f87..7569e68 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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> [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s custom requirements. In this case, Envoy needs to [...]
+In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client request data into <code>ctx</code> so that i [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 1f5adde..ff22a33 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 fd588e4..7a9249c 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 9d5818f..e5c80c2 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 8f851e6..7796ccd 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 6d13f05..242f751 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 7080320..019e871 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 aa62729..39b7b68 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -35,10 +35,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 4c53d45..c295f6e 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,18 +27,18 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 是 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+这样不仅去掉了轮询,让代码更加的简洁,配置同步也更加实时。同时系统也不会存在单点,可用性更高。</p><p>另外,APISIX 具备动态路由和插件热加载,特别适合微服务体系下的 API 管理。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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 是当前性能最好的 API 网关,单核 QP [...]
 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 [...]
-第一种情况,只可能是第二种,<code>git</code> 协议被封。这个时候可以执行 <code>git config --global url.&quot;https://&quot;.insteadOf git://</code> 命令使用 <code>https</code> 协议替代。</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>比如,<code>foo.com/product/index.html?id=204&amp;page=2</code>, 根据 URL 中 query string 中的 <code>id</code> 作为条件来灰度发布:</p><ol><l [...]
+第一种情况,只可能是第二种,<code>git</code> 协议被封。这个时候可以执行 <code>git config --global url.&quot;https://&quot;.insteadOf git://</code> 命令使用 <code>https</code> 协议替代。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="如何通过-apisix-支持灰度发布?"></a>如何通过 APISIX 支持灰度发布?<a class="hash-link" href="#如何通过-apisix-支持灰度发布?" title="Direct link to heading">#</a></h2><p>比如,<code>foo.com/product/index.html?id=204&amp;page=2</code>, 根据 URL 中 query string 中的 <code>id</code> 作为条件来灰度发布:</p><ol><li>A 组:id &lt;= 1000< [...]
 </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 [...]
-<a href="https://github.com/api7/lua-resty-radixtree#operator-list" target="_blank" rel="noopener noreferrer">https://github.com/api7/lua-resty-radixtree#operator-list</a></p><p>2、通过 traffic-split 插件来实现</p><p>详细使用示例请参考 <a href="/zh/docs/apisix/plugins/traffic-split">traffic-split.md</a> 插件文档。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="如何支持-http-自动跳转到-https?"></a>如何支持 http 自动跳转到 https?<a class="hash-link" href="#如何支持-http-自动跳转到-https?" title="Direct  [...]
-</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 [...]
+<a href="https://github.com/api7/lua-resty-radixtree#operator-list" target="_blank" rel="noopener noreferrer">https://github.com/api7/lua-resty-radixtree#operator-list</a></p><p>2、通过 traffic-split 插件来实现</p><p>详细使用示例请参考 <a href="/zh/docs/apisix/plugins/traffic-split">traffic-split.md</a> 插件文档。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="如何支持-http-自动跳转到-https?"></a>如何支持 http 自动跳转到 https?<a class="hash-link" href="#如何支持-http-自动跳转到-https?" title="Direct link to heading">#</ [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 74865e2..4baa004 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 5247558..633408d 100644
--- a/zh/docs/apisix/admin-api/index.html
+++ b/zh/docs/apisix/admin-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">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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 插件,并把请求转发给到指定 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 [...]
@@ -57,7 +57,7 @@
 </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=" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">执行成功后,status 将更新为:</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;status&quot;</span><span class="toke [...]
 </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><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="service"></a>Service<a class="hash-link" href="#service" title="Direct link to heading">#</a></h2><p><em>地址</em>:/apisix/admin/services/{id}</p><p><em>说明</em>:<code> [...]
+</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><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" id="service"></a>Service<a class="hash-link" href="#service" title="Direct link to heading">#</a></h2><p><em>地址</em>:/apisix/admin/services/{id}</p><p><em>说明</em>:<code>Service</code> 是某类 A [...]
 与 <code>Service</code> 之间,通常是 N:1 的关系。</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/services</td><td>无</td><td>获取资源列表</td></tr><tr><td>GET</td><td>/apisix/admin/services/{id}</td><td>无</td><td>获取资源</td></tr><tr><td>PUT</td><td>/apisix/admin/services/{id}</td><td>{...}</td><td>根据 id 创建资源</td></tr><tr><td>POST</td><td>/apisix/admin/services</td><td>{...}</td><td>创建资源,id 由 [...]
 </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">
 </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"></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" style="di [...]
@@ -73,8 +73,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"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"># 替换 Service 的 upstream nodes</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/services/201/upstream/nodes -H [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">执行成功后,upstream 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&q [...]
-</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><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="consumer"></a>Consumer<a class="hash-link" href="#consumer" title="Direct link to heading">#</a></h2><p><em>地址</em>:/apisix/admin/consumers/{username}</p><p><em>说明</ [...]
-</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></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><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" id="consumer"></a>Consumer<a class="hash-link" href="#consumer" title="Direct link to heading">#</a></h2><p><em>地址</em>:/apisix/admin/consumers/{username}</p><p><em>说明</em>:Consumer 是某类服务的消 [...]
+</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" 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"># 给 Upstream 增加一个 node</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/upstreams/100 -H </span><span class=" [...]
 </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.215:80&quot;</span><span cla [...]
@@ -89,11 +89,11 @@
 </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" 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></tr></thead><tbody><tr [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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/apisix/index.html b/zh/docs/apisix/architecture-design/apisix/index.html
index 6cb6dc1..6d6ea06 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 其他配置保持默认。在 <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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 079aa18..ac88fee 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 然后进行插件过滤并转发请求到指定上游,但有时候这个深度不够。</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 e4950a4..5515bfc 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 服务启动后是每秒定期检查该文件,
+那么这个信息会以 warn 等级日志写入到错误日志中。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" 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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 3601835..1d173cb 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 这时候我们可以使用 <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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 492d6cf..9ecadaf 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 8a0b4e5..9f0a4dd 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 个插件的配置,只能有一份是有效的,配置选择优先级总是 <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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 9db60c1..30f2b09 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 插件,并把请求转发给到指定 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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 ff84a64..9948339 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 51745ab..8f00516 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 d7e8be8..158832f 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 与 <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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 30bb227..1f3e46f 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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" [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+优先级更高。这里的优先级行为与 <code>Plugin</code> 非常相似</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" 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"><div class="codeBlo [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 f5c6e88..ff73e29 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,9 +27,9 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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">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 [...]
 </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"> vpc </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token maybe-class-name">Vpc</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token method function property-access" style="color:rgb [...]
 </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"> cluster </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)">Cluster</span><span cl [...]
@@ -46,13 +46,13 @@
 </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"> devEnv </span><span class="token operator" style="color:rgb(137, 221, 255)">=</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">  acc [...]
 </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"> app </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)">cdk</span><span class="token c [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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)">ApiSixStack</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">app</span><span class="token punctuation" style="color:rgb(199, 146, 234)">,</span><span class="token plain"> </span><spa [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">app</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></div></ [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">app</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></div></ [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Address: </span><span class="token number" style="color:rgb(247, 140, 108)">44.224</span><span class="token plain">.124.213</span></div [...]
 <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 [...]
+<img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 ec672d4..fb6c786 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,8 +27,8 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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> [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+当batch_max_size设置为零时,处理器将立即执行每个条目。将批处理的最大大小设置为大于1将开始聚合条目,直到达到最大大小或超时到期为止</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="构型"></a>构型<a class="hash-link" href="#构型" title="Direct link to heading">#</a></h2><p>创建批处理程序的唯一必需参数是函数。当批处理达到最大大小或缓冲区持续时间超过时,将执行该功能。</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>inactive_timeout</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">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">local batch_processor, err = bp:new(func_to_execute, config)</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 ffcb9a1..ad95fae 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 8245373..adcba78 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" 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" id="get-v1schema"></a>GET /v1/schema<a class="hash-link" href="#get-v1sch [...]
 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 [...]
+definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/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 codeBlock_23N8 thin-scrol [...]
 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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 b3f0e0f..486804b 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 e493b33..70f7632 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 9e0fbed..58cf312 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#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 [...]
+To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 7b4f43c..30c690c 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,9 +27,9 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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 [...]
+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 [...]
 For SRV record, nodes with lower priority are chosen first, so the final priority is negative.</p><p>As for 0 weight SRV record, the <a href="https://www.ietf.org/rfc/rfc2782.txt" target="_blank" rel="noopener noreferrer">RFC 2782</a> says:</p><blockquote><p>Domain administrators SHOULD use Weight 0 when there isn&#x27;t any server
 selection to do, to make the RR easier to read for humans (less
@@ -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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 608be99..ce2b827 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 93f58ea..51ff52e 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,19 +27,19 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">function _M.init_worker()</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">
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">return _M</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="eureka-与-apisix-之间数据转换逻辑"></a>Eureka 与 APISIX 之间数据转换逻辑<a class="hash-link" href="#eureka-与-apisix-之间数据转换逻辑" title="Direct link to heading">#</a></h4><p>APISIX 是通过 <code>upstream.nodes</co [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">return _M</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" id="eureka-与-apisix-之间数据转换逻辑"></a>Eureka 与 APISIX 之间数据转换逻辑<a class="hash-link" href="#eureka-与-apisix-之间数据转换逻辑" title="Direct link to heading">#</a></h4><p>APISIX 是通过 <code>upstream.nodes</code> 来配置上游服务的,所以使用注册中 [...]
 </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  [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 4ac73f7..a06e414 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,44 +27,44 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
 </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" style="color:rgb(130, 170, 255)">hash</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">hexd [...]
-</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">base64</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">b64encode</span><span class="token punctuation" style="color:rgb(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 lowercase base64</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">base64</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">b64encode</span><span class="token punctuation" style="color:rgb(199,  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><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)">Main</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">  </spa [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">     </span><span class="token class-name" style="color:rgb(255, 203, 107)">Mac</span><span class="token plain"> hasher </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(255, 203, 107)">Mac</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token function"  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">     </span><span class="token keyword" style="font-style:italic">byte</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 plain"> hash </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> hasher</span><span class="token punctuation" sty [...]
 </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 class-name" style="color:rgb(255, 203, 107)">DatatypeConverter</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><sp [...]
-</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 class-name" style="color:rgb(255, 203, 107)">DatatypeConverter</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</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">// to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">     </span><span class="token class-name" style="color:rgb(255, 203, 107)">DatatypeConverter</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class=" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">import</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">    </span><span class="token string" style="color:rgb(195, 232, 141)">&quot;crypto/hmac&quot;</span><span class="t [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">func</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">main</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 plain"> </span><span class="token punctuation" style="color:rgb [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    hash </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 function" style="color:rgb(130, 170, 255)">New</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">sha256</span><span class="token punctu [...]
 </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">    hex</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token function" style="color:rgb(130, 170, 255)">EncodeToString</span><span c [...]
-</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">    base64</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">StdEncoding</span><span class="token punctuation" style="color:rgb(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">    base64</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token plain">StdEncoding</span><span class="token punctuation" style="color:rgb(199, [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">secret = &#x27;the shared secret key here&#x27;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">message = &#x27;this is signature string&#x27;</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"># to lowercase hexits</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">OpenSSL::HMAC.hexdigest(&#x27;sha256&#x27;, secret, message)</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"># to base64</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Base64.encode64(OpenSSL::HMAC.digest(&#x27;sha256&#x27;, secret, message))</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="nodejs"></a>NodeJs<a class [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># to base64</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Base64.encode64(OpenSSL::HMAC.digest(&#x27;sha256&#x27;, secret, message))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="nodejs"></a>NodeJs<a class="hash-link" href="# [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">var</span><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 string" style="color:rgb(195, 232, 141)">&#x27;the shared secret key here&#x27;</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class=" [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">var</span><span class="token plain"> hash </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> crypto</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)">createHmac</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">// to lowercase hexits</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hash</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)">digest</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">// to base64</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hash</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)">digest</span><span cla [...]
+</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">hash</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)">digest</span><span cla [...]
 </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"> </span><span class="token function-variable function" style="color:rgb(130, 170, 255)">getUtf8Bytes</span><span class="token plain"> </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token parameter">str</span><span class="token plai [...]
 </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"> secretBytes </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token function" style="color:rgb(130, 170, 255)">getUtf8Bytes</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain">secr [...]
 </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"> cryptoKey </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">await</span><span class="token plain"> crypto</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span c [...]
 </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 punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token spread operator" style="color:rgb(137, 221, 255)">...</span><span class="token pla [...]
-</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 function" style="color:rgb(130, 170, 255)">btoa</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token known-class-name cl [...]
+</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 function" style="color:rgb(130, 170, 255)">btoa</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token known-class-name cl [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token variable" style="color:rgb(191, 199, 213)">$secret</span><span class="token plain"> </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token single-quoted-string string" style="color:rgb(195, 232, 141)">&#x27;the shared secret key here&#x27;</span><span class="token punctuation" style="color:rgb(199, 146, 2 [...]
 </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 function" style="color:rgb(130, 170, 255)">hash_hmac</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token sing [...]
-</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 function" style="color:rgb(130, 170, 255)">base64_encode</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token function"  [...]
+</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 function" style="color:rgb(130, 170, 255)">base64_encode</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token function"  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">--to lowercase hexits</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">ngx.say(digest)</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">--to base64</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct l [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">--to base64</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct link to heading">#</a [...]
 </span></div><div class="token-line" style="color:#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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 e1496b9..5edc2f0 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,8 +27,8 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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- [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+为了快速入门,让我们基于 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 服务)。
 Service(服务)为上游服务提供了抽象。因此,您可以创建单个 Service 并在多个 Route 中引用它。
@@ -37,12 +37,12 @@ Service(服务)为上游服务提供了抽象。因此,您可以创建单
 现在要公开 <code>users</code> 路径下的所有 <code>GET</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 [...]
 因此,单个上游配置可以由提供相同服务的多个服务器组成。每个节点将包括一个 key(地址/ip:port)和一个 value (节点的权重)。
 服务可以通过轮询或一致哈希(cHash)机制进行负载平衡。</p><p>  配置路由时,可以直接设置 Upstream 信息,也可以使用服务抽象来引用 Upstream 信息。</p></li><li><p>各种插件</p><p>  插件允许您扩展 APISIX 的功能,并实现可以与 HTTP request / response 生命周期接口的任意逻辑。
-因此,如果您想对 API 进行身份验证,那么您可以使用密钥验证插件来对每个请求强制进行身份验证。</p></li></ul><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="设置-upstream"></a>设置 Upstream<a class="hash-link" href="#设置-upstream" title="Direct link to heading">#</a></h3><p>执行以下命令在 APISIX 中创建 id 为 50 的上游信息,并使用 round-robin 机制进行负载平衡。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39 [...]
-现在使用下面的命令安全地访问请求。</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)。下面是终止正在侦听特定端口(基 [...]
+因此,如果您想对 API 进行身份验证,那么您可以使用密钥验证插件来对每个请求强制进行身份验证。</p></li></ul><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="设置-upstream"></a>设置 Upstream<a class="hash-link" href="#设置-upstream" title="Direct link to heading">#</a></h3><p>执行以下命令在 APISIX 中创建 id 为 50 的上游信息,并使用 round-robin 机制进行负载平衡。</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:#bf [...]
+现在使用下面的命令安全地访问请求。</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" id="故障排查"></a>故障排查<a class="hash-link" href="#故障排查" title="Direct link to heading">#</a></h3><ul><li><p>确保所需的端口未被其他系统/进程使用(默认端口为:9080、9443、2379)。下面是终止正在侦听特定端口(基于unix的系统)的进程的命令。</p> [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 1204dcb..6246a1f 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 b7b56af..a133379 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 如果一个 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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 91160a3..6e92f4d 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,19 +27,19 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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 [...]
 </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"># more actions find by `help`</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"> </span><span class="token builtin class-name" style="color:rgb(25 [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    help:             Show Makefile rules</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    deps:             Installation dependencies</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    utils:            Installation tools</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    lint:             Li [...]
-确保将openresty设置为默认的nginx并按如下所示导出路径。</p><ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH<ul><li>Linux 默认安装路径:<ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH</li></ul></li><li>OSx 通过homebrew默认安装路径:<ul><li>export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH</li></ul></li></ul></li></ul><p><strong>运行单个测试用例</strong></p><ul><li>使用以下命令运行指定的测试用例:<ul><li>prove -Itest-nginx/lib -r t/plugin/openid-connect.t</li></ul></li></ul><h2><a aria-hidden="true" tabindex="-1" class="anchor [...]
-</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?api_key</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    help:             Show Makefile rules</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    deps:             Installation dependencies</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    utils:            Installation tools</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    lint:             Li [...]
+确保将openresty设置为默认的nginx并按如下所示导出路径。</p><ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH<ul><li>Linux 默认安装路径:<ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH</li></ul></li><li>OSx 通过homebrew默认安装路径:<ul><li>export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH</li></ul></li></ul></li></ul><p><strong>运行单个测试用例</strong></p><ul><li>使用以下命令运行指定的测试用例:<ul><li>prove -Itest-nginx/lib -r t/plugin/openid-connect.t</li></ul></li></ul><h2><a aria-hidden="true" tabindex="-1" class="anchor [...]
+</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?api_key</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token [...]
 如果你需要这些功能,你可以用<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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 a866712..91a1dc8 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,20 +27,20 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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">
-</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"> --resolve </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;test.com:9443:127.0.0.1&#x27;</span><span class="token plain"> https://test.com:9443/hello  -vvv</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">* Added test.com:9443:127.0.0.1 to 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"> --resolve </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;test.com:9443:127.0.0.1&#x27;</span><span class="token plain"> https://test.com:9443/hello  -vvv</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">* Added test.com:9443:127.0.0.1 to D [...]
 比如<code>*.test.com</code>,可以匹配 <code>www.test.com</code>、<code>mail.test.com</code>甚至<code>a.b.test.com</code>。</p><p>看下面这个例子,请注意我们把 <code>*.test.com</code> 作为 sni 传递进来:</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">./ssl.py t.crt t.ke [...]
 </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 -i -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></di [...]
 </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">
-</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"> --resolve </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;www.test.com:9443:127.0.0.1&#x27;</span><span class="token plain"> https://www.test.com:9443/hello  -vvv</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">* Added test.com:9443:127.0. [...]
-你可以把它们都放入 <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 [...]
+</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"> --resolve </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;www.test.com:9443:127.0.0.1&#x27;</span><span class="token plain"> https://www.test.com:9443/hello  -vvv</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">* Added test.com:9443:127.0. [...]
+你可以把它们都放入 <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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 edb8ba5..f2e80a6 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,29 +27,29 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
-</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&amp; [...]
+</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&amp; [...]
 </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</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)">wget</span><span class="token plain"> https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64.tar. [...]
 </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 [...]
-</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&amp; [...]
+</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&amp; [...]
 </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</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)">wget</span><span class="token plain"> https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64.tar. [...]
 </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"> </span><span class="token function" style="color:rgb(130, 170, 255)">apt-ge [...]
 </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 [...]
-</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&amp; [...]
+</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&amp; [...]
 </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)">wget</span><span class="token plain"> -qO - https://openresty.org/package/pubkey.gpg </span><span class="token operato [...]
 </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</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)">wget</span><span class="token plain"> https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64.tar. [...]
 </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"> </span><span class="token function" style="color:rgb(130, 170, 255)">apt-ge [...]
 </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 [...]
-</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&amp; [...]
+</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"></span><span class="token function" style="color:rgb(130, 170, 255)">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:rgb(137, 221, 255)">&amp; [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 11ef137..ab97b35 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 c65c4c7..1b4aa30 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,30 +27,30 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 可能需要在 <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>我们不建议这样做,除非你已经对代码完全掌握</strong>。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="插件命名与配置"></a>插件命名与配置<a class="hash-link" href="#插件命名与配置" title="Direct link to heading">#</a></h2><p>给插件取一个很棒的名字,确定插件的加载优先级,然后在 <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 [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">local _M = {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    version = 0.1,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    priority = 0,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    name = plugin_name,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plai [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">local _M = {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    version = 0.1,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    priority = 0,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    name = plugin_name,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plai [...]
 格进行验证,以确保数据的完整性以及程序的健壮性。同样,我们以 example-plugin 插件为例,看看他的配置数据:</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:#bfc7d [...]
 </span></div><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:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">local _M = {</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    version = 0.1,</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    priority = 0,        -- TODO: add a type field, may be a good idea</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    name = plugin_name,</span></div><div class="toke [...]
-当一个插件设置 <code>type = &#x27;auth&#x27;</code>,说明它是个认证插件。</p><p>认证插件需要在执行后选择对应的 consumer。举个例子,在 key-auth 插件中,它通过 <code>apikey</code> 请求头获取对应的 consumer,然后通过 <code>consumer.attach_consumer</code> 设置它。</p><p>为了跟 <code>consumer</code> 资源一起使用,认证插件需要提供一个 <code>consumer_schema</code> 来检验 <code>consumer</code> 资源的 <code>plugins</code> 属性里面的配置。</p><p>下面是 key-auth 插件的 consumer 配置:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json c [...]
+当一个插件设置 <code>type = &#x27;auth&#x27;</code>,说明它是个认证插件。</p><p>认证插件需要在执行后选择对应的 consumer。举个例子,在 key-auth 插件中,它通过 <code>apikey</code> 请求头获取对应的 consumer,然后通过 <code>consumer.attach_consumer</code> 设置它。</p><p>为了跟 <code>consumer</code> 资源一起使用,认证插件需要提供一个 <code>consumer_schema</code> 来检验 <code>consumer</code> 资源的 <code>plugins</code> 属性里面的配置。</p><p>下面是 key-auth 插件的 consumer 配置:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json c [...]
 项目测试框架采用的 <a href="https://github.com/openresty/test-nginx" target="_blank" rel="noopener noreferrer">*<strong>*test-nginx**</strong></a> 。
 一个测试用例 <strong>.t</strong> 文件,通常用 __DATA__ 分割成 序言部分 和 数据部分。这里我们简单介绍下数据部分,
 也就是真正测试用例的部分,仍然以 key-auth 插件为例:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-perl 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">=== TEST 1: sanity</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">--- config</span></div><div class="token-line" style="c [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">            ngx.say(&quot;done&quot;)</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">    }</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">--- request</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">GET / [...]
 用例的断言是 response_body 返回 &quot;done&quot;,<strong>no_error_log</strong> 表示会对 Nginx 的 error.log 检查,
-必须没有 ERROR 级别的记录。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="附上-test-nginx-执行流程"></a>附上 test-nginx 执行流程<a class="hash-link" href="#附上-test-nginx-执行流程" title="Direct link to heading">#</a></h3><p>根据我们在 Makefile 里配置的 PATH,和每一个 <strong>.t</strong> 文件最前面的一些配置项,框架会组装成一个完整的 nginx.conf 文件,
+必须没有 ERROR 级别的记录。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="附上-test-nginx-执行流程"></a>附上 test-nginx 执行流程<a class="hash-link" href="#附上-test-nginx-执行流程" title="Direct link to heading">#</a></h3><p>根据我们在 Makefile 里配置的 PATH,和每一个 <strong>.t</strong> 文件最前面的一些配置项,框架会组装成一个完整的 nginx.conf 文件,
 <strong>t/servroot</strong> 会被当成 Nginx 的工作目录,启动 Nginx 实例。根据测试用例提供的信息,发起 http 请求并检查 http 的返回项,
-包括 http status,http response header, http response body 等。</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>插件可以注册暴露给公网的接口。以 jwt-auth 插件为例,这个插件为了让客户端能够签名,注册了 <code>GET /apisix/plugin/jwt/sign</code> 这个接口:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-lua codeBlock_23N8 thin-scrollbar"><div cl [...]
+包括 http status,http response header, http response body 等。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="注册公共接口"></a>注册公共接口<a class="hash-link" href="#注册公共接口" title="Direct link to heading">#</a></h3><p>插件可以注册暴露给公网的接口。以 jwt-auth 插件为例,这个插件为了让客户端能够签名,注册了 <code>GET /apisix/plugin/jwt/sign</code> 这个接口:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-lua codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_ [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">function _M.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 class="to [...]
-你可能需要使用 <a href="/zh/docs/apisix/plugin-interceptors">interceptors</a> 来保护它。</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>如果你只想暴露 API 到 localhost 或内网,你可以通过 <a href="https://apisix.apache.org/docs/apisix/control-api" target="_blank" rel="noopener noreferrer">Control API</a> 来暴露它。</p><p>Take a look at example-plugin plugin:</p><div class="mdxCodeBlock_3lFL" [...]
+你可能需要使用 <a href="/zh/docs/apisix/plugin-interceptors">interceptors</a> 来保护它。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="注册控制接口"></a>注册控制接口<a class="hash-link" href="#注册控制接口" title="Direct link to heading">#</a></h3><p>如果你只想暴露 API 到 localhost 或内网,你可以通过 <a href="https://apisix.apache.org/docs/apisix/control-api" target="_blank" rel="noopener noreferrer">Control API</a> 来暴露它。</p><p>Take a look at example-plugin plugin:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlo [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 fc23c2a..a128c43 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 36c82ad..41be9e8 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+应答 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" id= [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 0a377e9..0f1a8fb 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 bd95a21..e8ded9d 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 91ea7f6..53b2c52 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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"> [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+来保护它。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="如何启用"></a>如何启用<a class="hash-link" href="#如何启用" title="Direct link to heading">#</a></h2><p>本插件默认启用。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="如何配置"></a>如何配置<a class="hash-link" href="#如何配置" title="Direct link to heading">#</a></h2><p>默认本插件限制请求体的大小不能大于 1 MiB。这个限制可以通过 <code>apisix/admin/plugin_metadata/batch-requests</code> 来修改。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div  [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 8adb4a5..cb399e3 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 e4b25dd..ea72f9a 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+使用 <code>**</code> 时要充分理解它引入了一些安全隐患,比如 CSRF,所以确保这样的安全等级符合自己预期再使用。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="如何启用"></a>如何启用<a class="hash-link" href="#如何启用" title="Direct link to heading">#</a></h2><p>创建 <code>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="codeBlockLines_39YC" s [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 c9e235a..def9f16 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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> 插件,非常简单,你可以直接删除插件配置中 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+在 <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" 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> [...]
+</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" id="禁用插件"></a>禁用插件<a class="hash-link" href="#禁用插件" title="Direct link to heading">#</a></h2><p>当你想在某个路由或服务中禁用 <code>dubbo-proxy</code> 插件,非常简单,你可以直接删除插件配置中的 <code>json</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 9a6f49b..68e22c1 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 2eda73b..523bb9c 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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">                         [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<a href="/zh/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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,...]</td><td>目标端口</td> [...]
+下面是一个在<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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 df07e6d..07d8434 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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  [...]
@@ -47,10 +47,10 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">real    0m2.006s</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">user    0m0.001s</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">sys     0m0.005s</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>示例6:为特定路由启用 <code>fault-injection</code> 插件,并指定 abort  [...]
 </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>2、请求头 <code>apikey</code> 匹配成功,缺少请求参数,执行故障注入:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-s [...]
 </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 [...]
+</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" 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=" [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 87c8393..9f81b2e 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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"  [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 d8dc831..368bfad 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,17 +27,17 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+</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 [...]
 </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">Content-Type: text/html</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(191, 199, 21 [...]
 </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 [...]
-</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 [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 d796ff2..1c5607d 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 0a04d90..681f417 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+禁用了该插件,在执行路由规则的时候会跳过这个插件。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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="_blank" rel="noreferre [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 d20f233..824dd50 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 b01988d..1f9a140 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,17 +27,17 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+来保护它。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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-line" style="color:#bfc [...]
 <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" [...]
-</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="使用获取到的-token-进行请求尝试"></a>使用获取到的 token 进行请求尝试<a class="hash-link" hre [...]
+<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" [...]
+</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" id="使用获取到的-token-进行请求尝试"></a>使用获取到的 token 进行请求尝试<a class="hash-link" href="#使用获取到的-token-进行请 [...]
 </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 [...]
-</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 9239e37..26a719e 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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>消息将首先写入缓冲区。
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<a href="/zh/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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></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" 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 [...]
+如果出现错误,则返回 <code>nil</code>,并带有描述错误的字符串(<code>buffer overflow</code>)。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" 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;background-color:#292d3 [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 bf8076f..653f854 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <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 [...]
+<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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 da9d211..612927a 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <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"></ [...]
+<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" 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 thin-scrollbar"><div c [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 3800246..0050dd6 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+在指定的时间范围内,限制总的请求个数。并且在 HTTP 响应头中返回剩余可以请求的个数。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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_window &gt; 0</td><td>时 [...]
 <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"> [...]
+<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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 db5fdec..9c492bf 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 90ecc88..3ba685b 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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></ [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+通过配置参数可以设置每间隔多久切分一次日志,以及最近保留多少份日志(超过指定数量后,自动删除老文件)。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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><td></td><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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 f35815e..729abbe 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 c0e2dc3..832926b 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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" [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 108047a..7bf5071 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 前提条件是,您应该在身份服务器中创建受信任的客户端,并生成用于自省的有效令牌(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< [...]
+通过自省请求标头中提供的令牌,此路由将保护 <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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 ed5dcac..aa3fd12 100644
--- a/zh/docs/apisix/plugins/prometheus/index.html
+++ b/zh/docs/apisix/plugins/prometheus/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">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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 默认情况下,这个地址是 <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 [...]
+来保护它。</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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-cache/index.html b/zh/docs/apisix/plugins/proxy-cache/index.html
index 00663fb..db61c96 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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"> [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 3461d0a..36ceacc 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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" id="禁用插件"></a>禁用插件<a class="hash-link" href="#禁用插 [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 b64324f..8787507 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 943d616..9be7dd2 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 966ce3a..8493a4e 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 e0c9097..a20109e 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 b6f9578..a5039f3 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 0615923..4fee86f 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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,  [...]
+2、另外也可以通过配置 status_code 和 header 里面的 Location 来实现重定向,当然如果只是需要重定向功能,最好使用 <a href="/zh/docs/apisix/plugins/redirect">redirect</a> 插件。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 639c862..f376223 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+小时:</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 ae3a4d0..96666d6 100644
--- a/zh/docs/apisix/plugins/serverless/index.html
+++ b/zh/docs/apisix/plugins/serverless/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">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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+前者会在指定阶段的最开始运行,后者是在指定阶段的最后运行。</p><p>这两个插件接收的参数都是一样的。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><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;, &quot;body_filter [...]
+表示指定的函数已经生效。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" 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" style="color:#bfc7 [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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/skywalking/index.html b/zh/docs/apisix/plugins/skywalking/index.html
index 1505eeb..d027ab4 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,19 +27,19 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 在浏览器里面输入 <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">\
 可以看到服务追踪图\
-<img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-5.png" alt="plugin_skywalking"></p></li></ul></li></ol><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>当你想去掉路由上的插件规则的时候,很简单,在插件的配置中把对应的 json 配置删除即可,无须重启服务,即刻生效:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code l [...]
-里把插件注释掉:</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-line" style="color:#bfc7d5"><spa [...]
+<img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/skywalking-5.png" alt="plugin_skywalking"></p></li></ul></li></ol><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="禁用插件"></a>禁用插件<a class="hash-link" href="#禁用插件" title="Direct link to heading">#</a></h2><p>当你想去掉路由上的插件规则的时候,很简单,在插件的配置中把对应的 json 配置删除即可,无须重启服务,即刻生效:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBl [...]
+里把插件注释掉:</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-line" style="color:#bfc7d5"><spa [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token keyword" style="font-style:italic">import</span><span class="token plain"> </span><span class="token namespace" style="color:rgb(178, 204, 214)">org</span><span class="token namespace punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token namespace" style="color:rgb(178, 204, 214)">springframework</span><span class="token namespace punctuation" style="color:rgb [...]
 </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 [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 02bb07c..c41e846 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<a href="/zh/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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="_blank" rel="noopener  [...]
+<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" 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 codeBlock_23N8 thin-sc [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 689d6ed..a3bc773 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 f302e02..5a0f37b 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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,.. [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<a href="/zh/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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,...]</td><td>目标端口</td> [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 7269795..dfb4544 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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> 值;引导 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">world </span><span class="token number" style="color:rgb(247, 140, 108)">1981</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 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></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 [...]
+</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><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><h3><a aria-hidden="true" tabindex="-1" class="anchor [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">world </span><span class="token number" style="color:rgb(247, 140, 108)">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p><code>match</code> 规则匹配失败,所有请求都命中 <code>route</code> 上配置的 1980端口 upstream :</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell [...]
-</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><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>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><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="自定义发布"></a>自定义发布<a class="hash-link" href="#自定义发布" title="Direct link to heading">#</a></h3><p><code>match</code> 中可以设置多个 <code>vars</code> [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">world </span><span class="token number" style="color:rgb(247, 140, 108)">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>match 规则校验失败,,命中默认端口为<code>1980</code>的 upstream。</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrol [...]
 </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>2、<code>match</code> 规则校验失败(缺少请求头 <code>apisix-key</code> ), 响应都为默认 upstream 的数据 <code>hello 1980</code>。</p></ [...]
 </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><strong>示例2:配置多个 <code>vars</code> 规则, <code>vars</code> 中的多个表达式是 <code>add</code> 的关系, 多个 <code>vars</code> 之间是 <code>or</code> 的关系。根据 <code>weighted_upstreams</code> 中的 <code>weight</code> 值将流量 [...]
@@ -42,10 +42,10 @@ 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>2、第二个 <code>vars</code> 的表达式匹配失败(缺少 <code>name2</code> 请求参数),<code>match</code> 规则校验通过后, 60% 的请求命中到插件的1981端口 up [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">world </span><span class="token number" style="color:rgb(247, 140, 108)">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><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:#bfc [...]
 </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 插件的时候,很 [...]
+</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" id="禁用插件"></a>禁用插件<a class="hash-link" href="#禁用插件" title="Direct link to heading">#</a></h2><p>当你想去掉 traffic-split 插件的时候,很简单,在插件的配置中把对应的 json  [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 6e023ef..9a869e3 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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, [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<a href="/zh/docs/apisix/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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,...]</td><td>目标端口</t [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 8a93754..c512d02 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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" id= [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 226844c..835dc44 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+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" 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>se [...]
 <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 [...]
-</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">Date: Wed, </span><span class="token number" style="color:rgb(247, 140, 108)">24</span><span class="token plain"> Jul </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span class [...]
+<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 [...]
+</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">Date: Wed, </span><span class="token number" style="color:rgb(247, 140, 108)">24</span><span class="token plain"> Jul </span><span class="token number" style="color:rgb(247, 140, 108)">2019</span><span class [...]
 </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)">401</span><span class="token plain"> Unauthorized</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"></sp [...]
 </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" style="display:inline-block">
 </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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ul><li>token  [...]
@@ -43,14 +43,14 @@ 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"></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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ul><li>token  [...]
 </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" style="display:inline-block">
-</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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h4><a aria-hi [...]
+</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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h4><a aria-hi [...]
 </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 plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span [...]
+</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 plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    </span><span [...]
 </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 [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 9784437..c3b75c8 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 db5723f..24da05e 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 91d3521..6f14e03 100644
--- a/zh/docs/apisix/router-radixtree/index.html
+++ b/zh/docs/apisix/router-radixtree/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 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<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" 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 codeBlock_23N8 thin-scrollba [...]
+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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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/stand-alone/index.html b/zh/docs/apisix/stand-alone/index.html
index 69a5a65..d2c6d57 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,13 +27,13 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 (默认 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 [...]
+Admin API 将不再被允许使用。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" 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-scrollbar"><div class [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 3c3eefd..433055b 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+更多用例,请参照 <a href="/t/stream-node/sanity.t">test case</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="更多限制选项"></a>更多限制选项<a class="hash-link" href="#更多限制选项" title="Direct link to heading">#</a></h2><p>我们可以添加更多的选项来匹配 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"><div class="token- [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 ec9f160..7e473ec 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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 [...]
+<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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 2e2e282..54f2525 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 d97578f..38df7f7 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 c7f8285..1c56157 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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"></ [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 4b6e499..3ac91ac 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 3b945b0..9bc82ef 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 2ead969..52b69dd 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,17 +27,17 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" 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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+</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.
-For more details, 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">./setup.sh help</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>(If you are setting  [...]
-high expressiveness which makes reading and writing tests a pleasure.</p><ul><li><p>Enter the E2ENEW folder and execute the command to run all the E2ENEW test suites recursively.</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"> cd /(Your ap [...]
+For more details, 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">./setup.sh help</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>(If you are setting  [...]
+high expressiveness which makes reading and writing tests a pleasure.</p><ul><li><p>Enter the E2ENEW folder and execute the command to run all the E2ENEW test suites recursively.</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"> cd /(Your ap [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 0d752ab..1a14a66 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,12 +27,12 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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 [...]
+</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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 aafa281..599fa6a 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 0ca0176..40e7c7a 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,15 +27,15 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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= [...]
+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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 8a35769..83640c6 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,11 +27,11 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 51486b9..f6f110a 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 2b6e0aa..35905f4 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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.acf1f148.js" as="script">
+<link rel="preload" href="/zh/assets/js/3dc9f306.1a128b7b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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.acf1f148.js"></script>
+<script src="/zh/assets/js/3dc9f306.1a128b7b.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 7195b44..b89f4bf 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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.2f83f7ef.js" as="script">
+<link rel="preload" href="/zh/assets/js/8e784bf3.7e06a60b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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.2f83f7ef.js"></script>
+<script src="/zh/assets/js/8e784bf3.7e06a60b.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 d1130f9..3d00aff 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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.9d0a1999.js" as="script">
+<link rel="preload" href="/zh/assets/js/adbb350b.8ebc486e.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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.9d0a1999.js"></script>
+<script src="/zh/assets/js/adbb350b.8ebc486e.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 d3afb7e..0b84957 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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.22de58eb.js" as="script">
+<link rel="preload" href="/zh/assets/js/19945770.89a6c24d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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.22de58eb.js"></script>
+<script src="/zh/assets/js/19945770.89a6c24d.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 d5dd365..474905b 100644
--- a/zh/docs/general/release-guide/index.html
+++ b/zh/docs/general/release-guide/index.html
@@ -16,27 +16,27 @@
 <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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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.04322a3b.js" as="script">
+<link rel="preload" href="/zh/assets/js/7af3052c.1da6f319.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 </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=" [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">You need a Passphrase to protect your secret key. # Enter passphrase</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_ [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">/home/resty/.gnupg/pubring.gpg</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">pub 4096R/30B5FD72 2020-01-02</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">uid Yuansheng Wang &lt;membphis@apache.org&gt;</span></div><div [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">gpg: sending key 30B5FD72 to hkp server pool.sks-keyservers.net</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p><code>pool.sks-keyservers.net</code> is one of the pub key servers, the pub key will be automatically synchronized between each server, just choose anyone.</p><h3><a aria-hidden="true" tabindex="-1" class="anc [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">/home/resty/.gnupg/pubring.gpg</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">pub 4096R/30B5FD72 2020-01-02</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Key fingerprint = 0F91 BE0A 55A7 B22F DE1A CEEC 3352 48FD 30B5  [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">You need a Passphrase to protect your secret key. # Enter passphrase</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="view-the-g [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">/home/resty/.gnupg/pubring.gpg</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">pub 4096R/30B5FD72 2020-01-02</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">uid Yuansheng Wang &lt;membphis@apache.org&gt;</span></div><div [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">gpg: sending key 30B5FD72 to hkp server pool.sks-keyservers.net</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p><code>pool.sks-keyservers.net</code> is one of the pub key servers, the pub key will be automatically synchronized between each server, just choose anyone.</p><h3><a aria-hidden="true" tabindex="-1" class="anc [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">/home/resty/.gnupg/pubring.gpg</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">pub 4096R/30B5FD72 2020-01-02</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Key fingerprint = 0F91 BE0A 55A7 B22F DE1A CEEC 3352 48FD 30B5  [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ ls</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">KEYS</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Export the public key and append it to the KEYS file.</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-c [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">KEYS</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Export the public key and append it to the KEYS file.</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-c [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># download repo</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">git clone -b v$APISIX_VERSION git@github.com:apache/apisix.git apache-apisix-$APISIX_VERSION</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"># check version</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ cd apache-apisix-$APISIX_VERSION &amp;&amp; ./utils/check-version.sh $APISIX_VERSION &amp;&amp; cd ..</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"># make tar package / asc / sha512</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ cd apache-apisix-$APISIX_VERSION &amp;&amp; make release-src VERSION=$APISIX_VERSION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ mv ./release/* ../ &amp;&amp; cd ..</span></div><div class="token-line" style="color:#bfc7d5"><span class="token pla [...]
@@ -44,7 +44,7 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># check files</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ cd .. &amp;&amp; tree</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">├── 1.0</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">│   ├── apache-apisix-1 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">1 directory, 4 files</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"># add files to SVN</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ svn add *</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">A         1.0</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">A  (bin)  1.0/apache-apisix-1.0-src.tar.gz.asc</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
-</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># commit to Apache SVN</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ svn --username=${Apache username} commit -m &quot;release 1.0&quot;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Adding         1.0</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Adding  (bin)  1.0/apache-apisix-1.0-src.ta [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># commit to Apache SVN</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ svn --username=${Apache username} commit -m &quot;release 1.0&quot;</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Adding         1.0</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Adding  (bin)  1.0/apache-apisix-1.0-src.ta [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">Release notes:</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">https://github.com/apache/apisix/blob/2.4/CHANGELOG.md#240</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">The release candidates:</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
@@ -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" 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/r9153da737a4590dbbba7272acc0 [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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.04322a3b.js"></script>
+<script src="/zh/assets/js/7af3052c.1da6f319.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 aea3b1f..b5e566b 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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.cfad59db.js" as="script">
+<link rel="preload" href="/zh/assets/js/66fbb9c2.cf68ee4a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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.cfad59db.js"></script>
+<script src="/zh/assets/js/66fbb9c2.cf68ee4a.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 a747b1a..26c15ad 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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.517cddb8.js" as="script">
+<link rel="preload" href="/zh/assets/js/50facf8e.8c7fa73d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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.517cddb8.js"></script>
+<script src="/zh/assets/js/50facf8e.8c7fa73d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/index.html b/zh/docs/index.html
index 318137d..7b202cb 100644
--- a/zh/docs/index.html
+++ b/zh/docs/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" 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -25,10 +25,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 7aadb6f..994ab36 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 ffb6a15..7355b26 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 a89e15c..24a975f 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,33 +27,33 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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
+functions are implemented in a more native way, with stronger semantics.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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
 <code>/foo</code> prefix should be routed to service <code>foo</code> while requests which path is <code>/bar</code>
 should be routed to service <code>bar</code>, in the manner of <code>ApisixRoute</code>, the configuration
 should be:</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/v2alpha1</span></div><div class="token- [...]
 while if <code>prefix</code> is desired, just append a <code>*</code>, for instance, <code>/id/*</code> matches
-all paths with the prefix of <code>/id/</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="advanced-route-features"></a>Advanced route features<a class="hash-link" href="#advanced-route-features" title="Direct link to heading">#</a></h2><p>Path based route are most common, but if it&#x27;s not enough, try
+all paths with the prefix of <code>/id/</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-route-features"></a>Advanced route features<a class="hash-link" href="#advanced-route-features" title="Direct link to heading">#</a></h2><p>Path based route are most common, but if it&#x27;s not enough, try
 other route features in <code>ApisixRoute</code> such as <code>methods</code>, <code>exprs</code>.</p><p>The <code>methods</code> splits traffic according to the HTTP method, the following configurations routes requests
 with <code>GET</code> method to <code>foo</code> service (a Kubernetes Service).</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="t [...]
 It&#x27;s composed by several expressions, which in turn composed by subject, operator and value/set.</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)">: [...]
-query <code>id</code> must be equal to <code>2143</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="service-resolution-granularity"></a>Service Resolution Granularity<a class="hash-link" href="#service-resolution-granularity" title="Direct link to heading">#</a></h2><p>By default a referenced Service will be watched, so
+query <code>id</code> must be equal to <code>2143</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="service-resolution-granularity"></a>Service Resolution Granularity<a class="hash-link" href="#service-resolution-granularity" title="Direct link to heading">#</a></h2><p>By default a referenced Service will be watched, so
 it&#x27;s newest endpoints list can be updated to Apache APISIX.
 apisix-ingress-controller provides another mechanism that just use
 the <code>ClusterIP</code> of this service, if that&#x27;s what you want, just set
-the <code>resolveGranularity</code> to <code>service</code> (default is <code>endpoint</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">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span [...]
+the <code>resolveGranularity</code> to <code>service</code> (default is <code>endpoint</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">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span [...]
 when multiple backends co-exist there, the traffic split based on weights
 will be applied (which actually uses the <a href="http://apisix.apache.org/docs/apisix/plugins/traffic-split/" target="_blank" rel="noopener noreferrer">traffic-split</a> plugin in Apache APISIX).
 You can specify weight for each backend, the default weight is <code>100</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">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="t [...]
 which means <code>2/3</code> requests (with <code>GET</code> method and <code>User-Agent</code> matching regex pattern <code>.*Chrome.*</code>) will be sent to service <code>foo</code> and <code>1/3</code> requests
-will be proxied to serivce <code>bar</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="plugins"></a>Plugins<a class="hash-link" href="#plugins" title="Direct link to heading">#</a></h2><p>Apache APISIX provides more than 40 <a href="https://github.com/apache/apisix/tree/master/docs/en/latest/plugins" target="_blank" rel="noopener noreferrer">plugins</a>, which can be used
+will be proxied to serivce <code>bar</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="plugins"></a>Plugins<a class="hash-link" href="#plugins" title="Direct link to heading">#</a></h2><p>Apache APISIX provides more than 40 <a href="https://github.com/apache/apisix/tree/master/docs/en/latest/plugins" target="_blank" rel="noopener noreferrer">plugins</a>, which can be used
 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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 ce3b370..61ee0bb 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,7 +27,7 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 caee74e..dfb11f3 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,25 +27,25 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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  [...]
+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" 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 to scatter requests  [...]
 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 [...]
 endpoints, once there are three consecutive requests with bad status code (one of <code>500</code>, <code>502</code>, <code>503</code>, <code>504</code>), the endpoint
 will be set to unhealthy and no requests can be routed there until it&#x27;s healthy again.</p><p>That&#x27;s why the active health checker comes in, endpoints might be down for a short while and ready again, the active health checker detects these unhealthy endpoints continuously, and pull them
 up once the healthy conditions are met (three consecutive requests got good status codes, e.g. <code>200</code> and <code>206</code>).</p><p>Note the active health checker is somewhat duplicated with the liveness/readiness probes but it&#x27;s required if the passive feedback mechanism is in use. So once you use the health check feature in ApisixUpstream,
-the active health checker is mandatory.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_2LWZ" id="configuring-retry-and-timeout"></a>Configuring Retry and Timeout<a class="hash-link" href="#configuring-retry-and-timeout" title="Direct link to heading">#</a></h3><p>You may want the proxy to retry when requests occur faults like transient network errors
+the active health checker is mandatory.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuring-retry-and-timeout"></a>Configuring Retry and Timeout<a class="hash-link" href="#configuring-retry-and-timeout" title="Direct link to heading">#</a></h3><p>You may want the proxy to retry when requests occur faults like transient network errors
 or service unavailable, by default the retry count is <code>1</code>. You can change it by specifying the <code>retries</code> field.</p><p>The following configuration configures the <code>retries</code> to <code>3</code>, which indicates there&#x27;ll be at most <code>3</code> requests sent to
 Kubernetes service <code>httpbin</code>&#x27;s endpoints.</p><p>One should bear in mind that passing a request to the next endpoint is only possible
 if nothing has been sent to a client yet. That is, if an error or timeout occurs in the middle
 of the transferring of a response, fixing this is impossible.</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 [...]
-just change them in the <code>timeout</code> field.</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.or [...]
+just change them in the <code>timeout</code> field.</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.or [...]
 In that case, you can create configurations for individual 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 key atrule">apiVersion</span><span class="token punctuation" style="color:rgb(199, 146, 234)">:</span><span class="token plain"> api [...]
 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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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 bcf5d8a..7e59cf5 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.c782b49d.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.f9a260b0.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,14 +27,14 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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
+contributing.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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 [...]
+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.c782b49d.js"></script>
-<script src="/zh/assets/js/main.f9a260b0.js"></script>
+<script src="/zh/assets/js/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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/deployments/ack/index.html b/zh/docs/ingress-controller/deployments/ack/index.html
index f05ea35..853f8e5 100644
--- a/zh/docs/ingress-controller/deployments/ack/index.html
+++ b/zh/docs/ingress-controller/deployments/ack/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 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="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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/deployments/aws/index.html b/zh/docs/ingress-controller/deployments/aws/index.html
index a906ca2..cf0c6f3 100644
--- a/zh/docs/ingress-controller/deployments/aws/index.html
+++ b/zh/docs/ingress-controller/deployments/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">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="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaur [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
@@ -27,10 +27,10 @@
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-m [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 <script src="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js"></script>
+<script src="/zh/assets/js/main.1ed3b37c.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/deployments/azure/index.html b/zh/docs/ingress-controller/deployments/azure/index.html
index e2d27ae..206dc7b 100644
--- a/zh/docs/ingress-controller/deployments/azure/index.html
+++ b/zh/docs/ingress-controller/deployments/azure/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 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="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusauru [...]
 <link rel="preload" href="/zh/assets/js/styles.433a6000.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/runtime~main.b54606be.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.1ed3b37c.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">
... 899 lines suppressed ...