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/05/03 08:13:38 UTC

[apisix-website] branch asf-site updated: deploy: 33e60c2deb0cd107c7a9bd397cb8f7ce109a4d0f

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 04f2475  deploy: 33e60c2deb0cd107c7a9bd397cb8f7ce109a4d0f
04f2475 is described below

commit 04f24754bd49ba7e3e449aa90c4d8a8d9fc075e2
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Mon May 3 08:13:30 2021 +0000

    deploy: 33e60c2deb0cd107c7a9bd397cb8f7ce109a4d0f
---
 404.html                                           |  8 ++++----
 .../{098c8b15.873c8511.js => 098c8b15.1c2acc5c.js} |  2 +-
 assets/js/11dba9b3.13ed94e3.js                     |  1 -
 assets/js/11dba9b3.4a928104.js                     |  1 +
 assets/js/162a65a3.34fd45ff.js                     |  1 +
 assets/js/162a65a3.d3a4dcb0.js                     |  1 -
 .../{19945770.76c6fa97.js => 19945770.6fc6ce2a.js} |  2 +-
 assets/js/1bc24c0d.08b153c1.js                     |  1 +
 assets/js/1bc24c0d.59c1b8eb.js                     |  1 -
 assets/js/1ed156ee.16d0ddaa.js                     |  1 +
 assets/js/1ed156ee.f73b9add.js                     |  1 -
 assets/js/32e589c1.d01a6b37.js                     |  1 +
 assets/js/32e589c1.d9253836.js                     |  1 -
 .../{3dc9f306.46d5e378.js => 3dc9f306.c58ac029.js} |  2 +-
 .../{41a31a3f.841bd51c.js => 41a31a3f.3a596c6c.js} |  2 +-
 .../{43aea6af.a2d0f482.js => 43aea6af.6506be0d.js} |  2 +-
 .../{4e55a385.52030767.js => 4e55a385.908faebb.js} |  2 +-
 assets/js/4f7f961a.18f29cec.js                     |  1 -
 assets/js/4f7f961a.c7014e08.js                     |  1 +
 .../{50facf8e.9bfcfd0e.js => 50facf8e.bec7a0b7.js} |  2 +-
 assets/js/5381c375.c7611159.js                     |  1 -
 assets/js/5381c375.f7a3e4d4.js                     |  1 +
 assets/js/5c21e7f7.0899fed0.js                     |  1 +
 assets/js/5c21e7f7.c380f816.js                     |  1 -
 .../{64288df6.40ceb1d2.js => 64288df6.5bf4808c.js} |  2 +-
 .../{66fbb9c2.451a20f7.js => 66fbb9c2.23246ff9.js} |  2 +-
 .../{6967878f.135f14d5.js => 6967878f.18368567.js} |  2 +-
 assets/js/6f365930.34d0a383.js                     |  1 -
 assets/js/6f365930.504ff274.js                     |  1 +
 .../{7af3052c.7a8684c1.js => 7af3052c.94d7f357.js} |  2 +-
 assets/js/860d73b2.2995490b.js                     |  1 -
 assets/js/860d73b2.84cff8f3.js                     |  1 +
 assets/js/8e27d69a.a0aa0d18.js                     |  1 +
 assets/js/8e27d69a.ecee9c9b.js                     |  1 -
 .../{8e784bf3.9736bf2e.js => 8e784bf3.e790b9c9.js} |  2 +-
 .../{93013804.1a261a53.js => 93013804.0d34b6e4.js} |  2 +-
 assets/js/9969a994.1758f44c.js                     |  1 +
 assets/js/9969a994.45a1a842.js                     |  1 -
 assets/js/9da58367.238ab2d3.js                     |  1 +
 assets/js/9da58367.5abadd63.js                     |  1 -
 .../{a138bbe3.a22ff67e.js => a138bbe3.b1a1087f.js} |  2 +-
 .../{adbb350b.7c1e8c9a.js => adbb350b.c9f6bbf4.js} |  2 +-
 assets/js/b0e5e822.4c4d9727.js                     |  1 +
 assets/js/b0e5e822.73046474.js                     |  1 -
 .../{b3ea87e1.ea72d7c1.js => b3ea87e1.c4cd04d1.js} |  2 +-
 assets/js/b4a67526.37492bb7.js                     |  1 -
 assets/js/b4a67526.cbe07c3d.js                     |  1 +
 .../{b58143c5.2df7d07b.js => b58143c5.f6196ae1.js} |  2 +-
 assets/js/b5a39df0.87f08745.js                     |  1 +
 assets/js/b5a39df0.e06e1d51.js                     |  1 -
 assets/js/ca5ff64e.b0ddf83a.js                     |  1 -
 assets/js/ca5ff64e.f2cf6e8a.js                     |  1 +
 .../{d73fca9b.937b5f53.js => d73fca9b.6c49c622.js} |  2 +-
 .../{d9418bf0.50b0a2ff.js => d9418bf0.adcc4b7d.js} |  2 +-
 .../{e278666a.021b9701.js => e278666a.8d5549f8.js} |  2 +-
 assets/js/e3d364e1.9b6ff797.js                     |  1 -
 assets/js/e3d364e1.e73825b9.js                     |  1 +
 assets/js/e60dd3b0.49b5ffe8.js                     |  1 -
 assets/js/e60dd3b0.7e55d226.js                     |  1 +
 assets/js/f45d06d8.360e7c82.js                     |  1 -
 assets/js/f45d06d8.392b8c69.js                     |  1 +
 .../{f6cd6006.db4a4623.js => f6cd6006.df19eafd.js} |  2 +-
 assets/js/f8217c69.986e0861.js                     |  1 -
 assets/js/f8217c69.ff154d03.js                     |  1 +
 assets/js/main.690fe4bb.js                         |  2 ++
 .../js/main.690fe4bb.js.LICENSE.txt                |  0
 assets/js/main.e9e5b420.js                         |  2 --
 ...e~main.a25f06dd.js => runtime~main.c0371017.js} |  2 +-
 blog/2020/08/22/new-website/index.html             |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../21/run-ingress-apisix-on-amazon-eks/index.html |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../index.html                                     |  8 ++++----
 blog/index.html                                    |  8 ++++----
 docs/apisix/FAQ/index.html                         | 21 ++++++++++----------
 docs/apisix/IGNORE_DOC/index.html                  | 12 +++++------
 docs/apisix/admin-api/index.html                   | 18 ++++++++---------
 docs/apisix/architecture-design/apisix/index.html  | 14 ++++++-------
 .../apisix/architecture-design/consumer/index.html | 14 ++++++-------
 .../architecture-design/debug-mode/index.html      | 14 ++++++-------
 .../architecture-design/global-rule/index.html     | 14 ++++++-------
 .../architecture-design/plugin-config/index.html   | 14 ++++++-------
 docs/apisix/architecture-design/plugin/index.html  | 14 ++++++-------
 docs/apisix/architecture-design/route/index.html   | 14 ++++++-------
 docs/apisix/architecture-design/router/index.html  | 14 ++++++-------
 docs/apisix/architecture-design/script/index.html  | 14 ++++++-------
 docs/apisix/architecture-design/service/index.html | 14 ++++++-------
 .../apisix/architecture-design/upstream/index.html | 14 ++++++-------
 docs/apisix/aws/index.html                         | 12 +++++------
 docs/apisix/batch-processor/index.html             | 20 +++++++++----------
 docs/apisix/benchmark/index.html                   | 20 +++++++++----------
 docs/apisix/control-api/index.html                 | 14 ++++++-------
 .../customize-nginx-configuration/index.html       | 14 ++++++-------
 docs/apisix/debug-function/index.html              | 20 +++++++++----------
 docs/apisix/discovery/consul_kv/index.html         | 14 ++++++-------
 docs/apisix/discovery/dns/index.html               | 14 ++++++-------
 docs/apisix/discovery/eureka/index.html            | 14 ++++++-------
 docs/apisix/discovery/index.html                   | 22 ++++++++++-----------
 docs/apisix/discovery/nacos/index.html             | 14 ++++++-------
 .../index.html                                     | 12 +++++------
 docs/apisix/getting-started/index.html             | 20 +++++++++----------
 docs/apisix/grpc-proxy/index.html                  | 14 ++++++-------
 docs/apisix/health-check/index.html                | 14 ++++++-------
 docs/apisix/how-to-build/index.html                | 21 ++++++++++----------
 docs/apisix/https/index.html                       | 20 +++++++++----------
 docs/apisix/install-dependencies/index.html        | 20 +++++++++----------
 docs/apisix/mtls/index.html                        | 12 +++++------
 docs/apisix/plugin-develop/index.html              | 20 +++++++++----------
 docs/apisix/plugin-interceptors/index.html         | 20 +++++++++----------
 docs/apisix/plugins/api-breaker/index.html         | 14 ++++++-------
 docs/apisix/plugins/authz-keycloak/index.html      | 14 ++++++-------
 docs/apisix/plugins/basic-auth/index.html          | 14 ++++++-------
 docs/apisix/plugins/batch-requests/index.html      | 20 +++++++++----------
 .../apisix/plugins/consumer-restriction/index.html | 14 ++++++-------
 docs/apisix/plugins/cors/index.html                | 14 ++++++-------
 docs/apisix/plugins/dubbo-proxy/index.html         | 14 ++++++-------
 docs/apisix/plugins/echo/index.html                | 14 ++++++-------
 docs/apisix/plugins/error-log-logger/index.html    | 14 ++++++-------
 docs/apisix/plugins/fault-injection/index.html     | 14 ++++++-------
 docs/apisix/plugins/grpc-transcode/index.html      | 18 ++++++++---------
 docs/apisix/plugins/hmac-auth/index.html           | 14 ++++++-------
 docs/apisix/plugins/http-logger/index.html         | 14 ++++++-------
 docs/apisix/plugins/index.html                     | 12 +++++------
 docs/apisix/plugins/ip-restriction/index.html      | 14 ++++++-------
 docs/apisix/plugins/jwt-auth/index.html            | 14 ++++++-------
 docs/apisix/plugins/kafka-logger/index.html        | 20 +++++++++----------
 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           | 14 ++++++-------
 docs/apisix/plugins/log-rotate/index.html          | 14 ++++++-------
 docs/apisix/plugins/mqtt-proxy/index.html          | 14 ++++++-------
 docs/apisix/plugins/node-status/index.html         | 14 ++++++-------
 docs/apisix/plugins/openid-connect/index.html      | 21 ++++++++++----------
 docs/apisix/plugins/prometheus/index.html          | 14 ++++++-------
 docs/apisix/plugins/proxy-cache/index.html         | 14 ++++++-------
 docs/apisix/plugins/proxy-mirror/index.html        | 14 ++++++-------
 docs/apisix/plugins/proxy-rewrite/index.html       | 14 ++++++-------
 docs/apisix/plugins/redirect/index.html            | 14 ++++++-------
 docs/apisix/plugins/referer-restriction/index.html | 14 ++++++-------
 docs/apisix/plugins/request-id/index.html          | 14 ++++++-------
 docs/apisix/plugins/request-validation/index.html  | 14 ++++++-------
 docs/apisix/plugins/response-rewrite/index.html    | 14 ++++++-------
 docs/apisix/plugins/server-info/index.html         | 14 ++++++-------
 docs/apisix/plugins/serverless/index.html          | 14 ++++++-------
 docs/apisix/plugins/skywalking/index.html          | 20 +++++++++----------
 docs/apisix/plugins/sls-logger/index.html          | 14 ++++++-------
 docs/apisix/plugins/syslog/index.html              | 14 ++++++-------
 docs/apisix/plugins/tcp-logger/index.html          | 14 ++++++-------
 docs/apisix/plugins/traffic-split/index.html       | 14 ++++++-------
 docs/apisix/plugins/udp-logger/index.html          | 14 ++++++-------
 docs/apisix/plugins/uri-blocker/index.html         | 14 ++++++-------
 docs/apisix/plugins/wolf-rbac/index.html           | 14 ++++++-------
 docs/apisix/plugins/zipkin/index.html              | 14 ++++++-------
 docs/apisix/profile/index.html                     | 12 +++++------
 docs/apisix/router-radixtree/index.html            | 14 ++++++-------
 docs/apisix/stand-alone/index.html                 | 14 ++++++-------
 docs/apisix/stream-proxy/index.html                | 14 ++++++-------
 docs/dashboard/FAQ/index.html                      |  8 ++++----
 docs/dashboard/I18N_USER_GUIDE/index.html          |  8 ++++----
 docs/dashboard/IGNORE_DOC/index.html               |  8 ++++----
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html |  8 ++++----
 docs/dashboard/USER_GUIDE/index.html               |  8 ++++----
 docs/dashboard/api/api/index.html                  |  8 ++++----
 docs/dashboard/back-end-tests/index.html           |  8 ++++----
 docs/dashboard/deploy-with-docker/index.html       |  8 ++++----
 docs/dashboard/deploy-with-rpm/index.html          |  8 ++++----
 docs/dashboard/deploy/index.html                   |  8 ++++----
 docs/dashboard/develop/index.html                  |  8 ++++----
 docs/dashboard/front-end-e2e/index.html            |  8 ++++----
 docs/docker/IGNORE_DOC/index.html                  |  8 ++++----
 docs/docker/build/index.html                       |  8 ++++----
 docs/docker/example/index.html                     |  8 ++++----
 docs/docker/manual/index.html                      |  8 ++++----
 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              | 14 ++++++-------
 docs/general/security/index.html                   | 14 ++++++-------
 docs/general/subscribe-guide/index.html            | 14 ++++++-------
 docs/helm-chart/IGNORE_DOC/index.html              |  8 ++++----
 docs/helm-chart/apisix-dashboard/index.html        |  8 ++++----
 .../apisix-ingress-controller/index.html           |  8 ++++----
 docs/helm-chart/apisix/index.html                  |  8 ++++----
 docs/index.html                                    |  8 ++++----
 docs/ingress-controller/FAQ/index.html             | 14 ++++++-------
 docs/ingress-controller/IGNORE_DOC/index.html      | 12 +++++------
 .../concepts/apisix_route/index.html               | 20 +++++++++----------
 .../concepts/apisix_tls/index.html                 | 12 +++++------
 .../concepts/apisix_upstream/index.html            | 22 ++++++++++-----------
 docs/ingress-controller/contribute/index.html      | 14 ++++++-------
 docs/ingress-controller/deployments/ack/index.html | 18 ++++++++---------
 docs/ingress-controller/deployments/aws/index.html | 18 ++++++++---------
 .../deployments/azure/index.html                   | 18 ++++++++---------
 docs/ingress-controller/deployments/gke/index.html | 18 ++++++++---------
 .../deployments/k3s-rke/index.html                 | 20 +++++++++----------
 .../deployments/kubesphere/index.html              | 20 +++++++++----------
 .../deployments/minikube/index.html                | 18 ++++++++---------
 docs/ingress-controller/deployments/tke/index.html | 18 ++++++++---------
 docs/ingress-controller/design/index.html          | 18 ++++++++---------
 docs/ingress-controller/development/index.html     | 18 ++++++++---------
 docs/ingress-controller/getting-started/index.html | 20 +++++++++----------
 docs/ingress-controller/practices/index/index.html | 14 ++++++-------
 .../index.html                                     | 18 ++++++++---------
 .../practices/proxy-the-httpbin-service/index.html | 18 ++++++++---------
 .../references/apisix_route_v1/index.html          | 14 ++++++-------
 .../references/apisix_route_v2alpha1/index.html    | 14 ++++++-------
 .../references/apisix_tls/index.html               | 14 ++++++-------
 .../references/apisix_upstream/index.html          | 18 ++++++++---------
 downloads/ProjectCard/index.html                   |  8 ++++----
 downloads/index.html                               |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../02/09/release-apache-apisix-2.3/index.html     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../release-apache-apisix-dashboard-2.4/index.html |  8 ++++----
 .../03/05/release-apache-apisix-2.4/index.html     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../04/05/release-apache-apisix-2.5/index.html     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../release-apache-apisix-dashboard-2.6/index.html |  8 ++++----
 events/index.html                                  |  8 ++++----
 help/index.html                                    |  8 ++++----
 index.html                                         |  8 ++++----
 search/index.html                                  |  8 ++++----
 team/index.html                                    |  8 ++++----
 zh/404.html                                        |  8 ++++----
 .../{0e9e839b.4dc4fc41.js => 0e9e839b.4a5ba5f3.js} |  2 +-
 zh/assets/js/163910ed.05c8e71d.js                  |  1 -
 zh/assets/js/163910ed.9871618d.js                  |  1 +
 .../{19945770.adaa9a67.js => 19945770.3b01635e.js} |  2 +-
 zh/assets/js/1fb167aa.85cf6e91.js                  |  1 +
 zh/assets/js/1fb167aa.b09e6941.js                  |  1 -
 zh/assets/js/2503b74e.78b3f5dd.js                  |  1 +
 zh/assets/js/2503b74e.d34b4cfc.js                  |  1 -
 zh/assets/js/320d67fa.8cdb915b.js                  |  1 +
 zh/assets/js/320d67fa.f5394665.js                  |  1 -
 .../{3a565ccf.704debaf.js => 3a565ccf.388fa90c.js} |  2 +-
 .../{3dc9f306.92c845ed.js => 3dc9f306.770c41e3.js} |  2 +-
 .../{43aea6af.3f0c482e.js => 43aea6af.e882b487.js} |  2 +-
 .../{4e55a385.0333fb40.js => 4e55a385.b74b361f.js} |  2 +-
 .../{50facf8e.f6382808.js => 50facf8e.358847e7.js} |  2 +-
 zh/assets/js/5880833a.b6443dfc.js                  |  1 +
 zh/assets/js/5880833a.f9ce75b1.js                  |  1 -
 .../{64288df6.8748b8f7.js => 64288df6.dd62e9e0.js} |  2 +-
 .../{66fbb9c2.74b2e881.js => 66fbb9c2.1615df78.js} |  2 +-
 .../{6967878f.16d92fdb.js => 6967878f.fcba0591.js} |  2 +-
 .../{6a0e174f.bc8f855a.js => 6a0e174f.73b14d30.js} |  2 +-
 zh/assets/js/6f365930.9901cafa.js                  |  1 +
 zh/assets/js/6f365930.a1f1f0a2.js                  |  1 -
 zh/assets/js/72aa3c55.a260bea0.js                  |  1 -
 zh/assets/js/72aa3c55.eb4857ef.js                  |  1 +
 .../{755c8723.9f0c60ed.js => 755c8723.3bf0bebe.js} |  2 +-
 .../{7af3052c.38312664.js => 7af3052c.49e49451.js} |  2 +-
 zh/assets/js/8e27d69a.0699cb5d.js                  |  1 -
 zh/assets/js/8e27d69a.752302ab.js                  |  1 +
 .../{8e784bf3.0f6ea4c6.js => 8e784bf3.5b24bd09.js} |  2 +-
 .../{93013804.f5c6d72f.js => 93013804.9c28b65c.js} |  2 +-
 zh/assets/js/9969a994.7afad919.js                  |  1 +
 zh/assets/js/9969a994.dde0caa4.js                  |  1 -
 zh/assets/js/9da58367.b7421c29.js                  |  1 -
 zh/assets/js/9da58367.c7c248e7.js                  |  1 +
 .../{ac9cf38b.be06fcec.js => ac9cf38b.0b3f3ef9.js} |  2 +-
 .../{adbb350b.b6d39a26.js => adbb350b.052b2d5f.js} |  2 +-
 zh/assets/js/b0e5e822.2316f348.js                  |  1 -
 zh/assets/js/b0e5e822.fade4e97.js                  |  1 +
 zh/assets/js/b4a67526.9340e43c.js                  |  1 -
 zh/assets/js/b4a67526.f23e8091.js                  |  1 +
 .../{b58143c5.5d318bf5.js => b58143c5.1c7df421.js} |  2 +-
 zh/assets/js/ca5ff64e.c5f0008c.js                  |  1 -
 zh/assets/js/ca5ff64e.db8bad46.js                  |  1 +
 .../{cfdc22b3.9132ebe0.js => cfdc22b3.0539091d.js} |  2 +-
 zh/assets/js/d0e718c3.7e0972c1.js                  |  1 -
 zh/assets/js/d0e718c3.f4e1f67e.js                  |  1 +
 .../{d73fca9b.42f9daf3.js => d73fca9b.6403a5a7.js} |  2 +-
 zh/assets/js/e25b82d9.334e30dc.js                  |  1 +
 zh/assets/js/e25b82d9.5fb26cdf.js                  |  1 -
 zh/assets/js/e60dd3b0.964c07c6.js                  |  1 +
 zh/assets/js/e60dd3b0.b93169a6.js                  |  1 -
 zh/assets/js/eba3b9b2.7a276b45.js                  |  1 +
 zh/assets/js/eba3b9b2.ab7045f2.js                  |  1 -
 zh/assets/js/f45d06d8.29aeb338.js                  |  1 -
 zh/assets/js/f45d06d8.90e007fa.js                  |  1 +
 .../{f6cd6006.2ceceadf.js => f6cd6006.6e27d3aa.js} |  2 +-
 zh/assets/js/f8217c69.9908e08d.js                  |  1 +
 zh/assets/js/f8217c69.ece55a7f.js                  |  1 -
 zh/assets/js/f9dabc71.42731056.js                  |  1 -
 zh/assets/js/f9dabc71.4e1a02cd.js                  |  1 +
 zh/assets/js/main.ad1f99cc.js                      |  2 --
 zh/assets/js/main.e17e0006.js                      |  2 ++
 .../assets/js/main.e17e0006.js.LICENSE.txt         |  0
 ...e~main.61ad33ca.js => runtime~main.4050c260.js} |  2 +-
 zh/blog/2020/08/22/new-website/index.html          |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../21/run-ingress-apisix-on-amazon-eks/index.html |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../index.html                                     |  8 ++++----
 zh/blog/index.html                                 |  8 ++++----
 zh/docs/apisix/FAQ/index.html                      | 23 +++++++++++-----------
 zh/docs/apisix/IGNORE_DOC/index.html               | 12 +++++------
 zh/docs/apisix/admin-api/index.html                | 20 +++++++++----------
 .../apisix/architecture-design/apisix/index.html   | 14 ++++++-------
 .../apisix/architecture-design/consumer/index.html | 14 ++++++-------
 .../architecture-design/debug-mode/index.html      | 14 ++++++-------
 .../architecture-design/global-rule/index.html     | 14 ++++++-------
 .../architecture-design/plugin-config/index.html   | 14 ++++++-------
 .../apisix/architecture-design/plugin/index.html   | 14 ++++++-------
 .../apisix/architecture-design/route/index.html    | 14 ++++++-------
 .../apisix/architecture-design/router/index.html   | 14 ++++++-------
 .../apisix/architecture-design/script/index.html   | 14 ++++++-------
 .../apisix/architecture-design/service/index.html  | 14 ++++++-------
 .../apisix/architecture-design/upstream/index.html | 14 ++++++-------
 zh/docs/apisix/aws/index.html                      | 12 +++++------
 zh/docs/apisix/batch-processor/index.html          | 20 +++++++++----------
 zh/docs/apisix/benchmark/index.html                | 20 +++++++++----------
 zh/docs/apisix/control-api/index.html              | 14 ++++++-------
 .../customize-nginx-configuration/index.html       | 14 ++++++-------
 zh/docs/apisix/debug-function/index.html           | 20 +++++++++----------
 zh/docs/apisix/discovery/consul_kv/index.html      | 14 ++++++-------
 zh/docs/apisix/discovery/dns/index.html            | 14 ++++++-------
 zh/docs/apisix/discovery/eureka/index.html         | 14 ++++++-------
 zh/docs/apisix/discovery/index.html                | 22 ++++++++++-----------
 zh/docs/apisix/discovery/nacos/index.html          | 14 ++++++-------
 .../index.html                                     | 12 +++++------
 zh/docs/apisix/getting-started/index.html          | 20 +++++++++----------
 zh/docs/apisix/grpc-proxy/index.html               | 14 ++++++-------
 zh/docs/apisix/health-check/index.html             | 14 ++++++-------
 zh/docs/apisix/how-to-build/index.html             | 21 ++++++++++----------
 zh/docs/apisix/https/index.html                    | 20 +++++++++----------
 zh/docs/apisix/install-dependencies/index.html     | 20 +++++++++----------
 zh/docs/apisix/mtls/index.html                     | 12 +++++------
 zh/docs/apisix/plugin-develop/index.html           | 20 +++++++++----------
 zh/docs/apisix/plugin-interceptors/index.html      | 18 ++++++++---------
 zh/docs/apisix/plugins/api-breaker/index.html      | 14 ++++++-------
 zh/docs/apisix/plugins/authz-keycloak/index.html   | 14 ++++++-------
 zh/docs/apisix/plugins/basic-auth/index.html       | 14 ++++++-------
 zh/docs/apisix/plugins/batch-requests/index.html   | 20 +++++++++----------
 .../apisix/plugins/consumer-restriction/index.html | 14 ++++++-------
 zh/docs/apisix/plugins/cors/index.html             | 14 ++++++-------
 zh/docs/apisix/plugins/dubbo-proxy/index.html      | 14 ++++++-------
 zh/docs/apisix/plugins/echo/index.html             | 14 ++++++-------
 zh/docs/apisix/plugins/error-log-logger/index.html | 14 ++++++-------
 zh/docs/apisix/plugins/fault-injection/index.html  | 14 ++++++-------
 zh/docs/apisix/plugins/grpc-transcode/index.html   | 14 ++++++-------
 zh/docs/apisix/plugins/hmac-auth/index.html        | 14 ++++++-------
 zh/docs/apisix/plugins/http-logger/index.html      | 14 ++++++-------
 zh/docs/apisix/plugins/index.html                  | 12 +++++------
 zh/docs/apisix/plugins/ip-restriction/index.html   | 14 ++++++-------
 zh/docs/apisix/plugins/jwt-auth/index.html         | 14 ++++++-------
 zh/docs/apisix/plugins/kafka-logger/index.html     | 20 +++++++++----------
 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      | 14 ++++++-------
 zh/docs/apisix/plugins/limit-req/index.html        | 14 ++++++-------
 zh/docs/apisix/plugins/log-rotate/index.html       | 14 ++++++-------
 zh/docs/apisix/plugins/mqtt-proxy/index.html       | 14 ++++++-------
 zh/docs/apisix/plugins/node-status/index.html      | 14 ++++++-------
 zh/docs/apisix/plugins/openid-connect/index.html   | 21 ++++++++++----------
 zh/docs/apisix/plugins/prometheus/index.html       | 14 ++++++-------
 zh/docs/apisix/plugins/proxy-cache/index.html      | 14 ++++++-------
 zh/docs/apisix/plugins/proxy-mirror/index.html     | 14 ++++++-------
 zh/docs/apisix/plugins/proxy-rewrite/index.html    | 14 ++++++-------
 zh/docs/apisix/plugins/redirect/index.html         | 14 ++++++-------
 .../apisix/plugins/referer-restriction/index.html  | 14 ++++++-------
 zh/docs/apisix/plugins/request-id/index.html       | 14 ++++++-------
 .../apisix/plugins/request-validation/index.html   | 14 ++++++-------
 zh/docs/apisix/plugins/response-rewrite/index.html | 14 ++++++-------
 zh/docs/apisix/plugins/server-info/index.html      | 14 ++++++-------
 zh/docs/apisix/plugins/serverless/index.html       | 14 ++++++-------
 zh/docs/apisix/plugins/skywalking/index.html       | 18 ++++++++---------
 zh/docs/apisix/plugins/sls-logger/index.html       | 14 ++++++-------
 zh/docs/apisix/plugins/syslog/index.html           | 14 ++++++-------
 zh/docs/apisix/plugins/tcp-logger/index.html       | 14 ++++++-------
 zh/docs/apisix/plugins/traffic-split/index.html    | 14 ++++++-------
 zh/docs/apisix/plugins/udp-logger/index.html       | 14 ++++++-------
 zh/docs/apisix/plugins/uri-blocker/index.html      | 14 ++++++-------
 zh/docs/apisix/plugins/wolf-rbac/index.html        | 14 ++++++-------
 zh/docs/apisix/plugins/zipkin/index.html           | 14 ++++++-------
 zh/docs/apisix/profile/index.html                  | 12 +++++------
 zh/docs/apisix/router-radixtree/index.html         | 14 ++++++-------
 zh/docs/apisix/stand-alone/index.html              | 14 ++++++-------
 zh/docs/apisix/stream-proxy/index.html             | 14 ++++++-------
 zh/docs/dashboard/FAQ/index.html                   |  8 ++++----
 zh/docs/dashboard/I18N_USER_GUIDE/index.html       |  8 ++++----
 zh/docs/dashboard/IGNORE_DOC/index.html            |  8 ++++----
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html |  8 ++++----
 zh/docs/dashboard/USER_GUIDE/index.html            |  8 ++++----
 zh/docs/dashboard/api/api/index.html               |  8 ++++----
 zh/docs/dashboard/back-end-tests/index.html        |  8 ++++----
 zh/docs/dashboard/deploy-with-docker/index.html    |  8 ++++----
 zh/docs/dashboard/deploy-with-rpm/index.html       |  8 ++++----
 zh/docs/dashboard/deploy/index.html                |  8 ++++----
 zh/docs/dashboard/develop/index.html               |  8 ++++----
 zh/docs/dashboard/front-end-e2e/index.html         |  8 ++++----
 zh/docs/docker/IGNORE_DOC/index.html               |  8 ++++----
 zh/docs/docker/build/index.html                    |  8 ++++----
 zh/docs/docker/example/index.html                  |  8 ++++----
 zh/docs/docker/manual/index.html                   |  8 ++++----
 zh/docs/general/2fa/index.html                     | 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           | 14 ++++++-------
 zh/docs/general/security/index.html                | 14 ++++++-------
 zh/docs/general/subscribe-guide/index.html         | 14 ++++++-------
 zh/docs/helm-chart/IGNORE_DOC/index.html           |  8 ++++----
 zh/docs/helm-chart/apisix-dashboard/index.html     |  8 ++++----
 .../apisix-ingress-controller/index.html           |  8 ++++----
 zh/docs/helm-chart/apisix/index.html               |  8 ++++----
 zh/docs/index.html                                 |  8 ++++----
 zh/docs/ingress-controller/FAQ/index.html          | 14 ++++++-------
 zh/docs/ingress-controller/IGNORE_DOC/index.html   | 12 +++++------
 .../concepts/apisix_route/index.html               | 20 +++++++++----------
 .../concepts/apisix_tls/index.html                 | 12 +++++------
 .../concepts/apisix_upstream/index.html            | 22 ++++++++++-----------
 zh/docs/ingress-controller/contribute/index.html   | 14 ++++++-------
 .../ingress-controller/deployments/ack/index.html  | 18 ++++++++---------
 .../ingress-controller/deployments/aws/index.html  | 18 ++++++++---------
 .../deployments/azure/index.html                   | 18 ++++++++---------
 .../ingress-controller/deployments/gke/index.html  | 18 ++++++++---------
 .../deployments/k3s-rke/index.html                 | 20 +++++++++----------
 .../deployments/kubesphere/index.html              | 20 +++++++++----------
 .../deployments/minikube/index.html                | 18 ++++++++---------
 .../ingress-controller/deployments/tke/index.html  | 18 ++++++++---------
 zh/docs/ingress-controller/design/index.html       | 18 ++++++++---------
 zh/docs/ingress-controller/development/index.html  | 18 ++++++++---------
 .../ingress-controller/getting-started/index.html  | 20 +++++++++----------
 .../ingress-controller/practices/index/index.html  | 14 ++++++-------
 .../index.html                                     | 18 ++++++++---------
 .../practices/proxy-the-httpbin-service/index.html | 18 ++++++++---------
 .../references/apisix_route_v1/index.html          | 14 ++++++-------
 .../references/apisix_route_v2alpha1/index.html    | 14 ++++++-------
 .../references/apisix_tls/index.html               | 14 ++++++-------
 .../references/apisix_upstream/index.html          | 18 ++++++++---------
 zh/downloads/ProjectCard/index.html                |  8 ++++----
 zh/downloads/index.html                            |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../02/09/release-apache-apisix-2.3/index.html     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../release-apache-apisix-dashboard-2.4/index.html |  8 ++++----
 .../03/05/release-apache-apisix-2.4/index.html     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../04/05/release-apache-apisix-2.5/index.html     |  8 ++++----
 .../index.html                                     |  8 ++++----
 .../release-apache-apisix-dashboard-2.6/index.html |  8 ++++----
 zh/events/index.html                               |  8 ++++----
 zh/help/index.html                                 |  8 ++++----
 zh/index.html                                      |  8 ++++----
 zh/search/index.html                               |  8 ++++----
 zh/team/index.html                                 |  8 ++++----
 458 files changed, 2245 insertions(+), 2243 deletions(-)

diff --git a/404.html b/404.html
index 8c364e5..60403d5 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/098c8b15.873c8511.js b/assets/js/098c8b15.1c2acc5c.js
similarity index 80%
rename from assets/js/098c8b15.873c8511.js
rename to assets/js/098c8b15.1c2acc5c.js
index 0289b66..0eb5998 100644
--- a/assets/js/098c8b15.873c8511.js
+++ b/assets/js/098c8b15.1c2acc5c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return h}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return h}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/11dba9b3.13ed94e3.js b/assets/js/11dba9b3.13ed94e3.js
deleted file mode 100644
index b365987..0000000
--- a/assets/js/11dba9b3.13ed94e3.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));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 s(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/11dba9b3.4a928104.js b/assets/js/11dba9b3.4a928104.js
new file mode 100644
index 0000000..aad1f4b
--- /dev/null
+++ b/assets/js/11dba9b3.4a928104.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));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 s(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/162a65a3.34fd45ff.js b/assets/js/162a65a3.34fd45ff.js
new file mode 100644
index 0000000..7ca9bdb
--- /dev/null
+++ b/assets/js/162a65a3.34fd45ff.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return u}));var a=n(0),i=n.n(a);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 r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/162a65a3.d3a4dcb0.js b/assets/js/162a65a3.d3a4dcb0.js
deleted file mode 100644
index ada003f..0000000
--- a/assets/js/162a65a3.d3a4dcb0.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return h}));var a=n(0),i=n.n(a);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 r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/19945770.76c6fa97.js b/assets/js/19945770.6fc6ce2a.js
similarity index 53%
rename from assets/js/19945770.76c6fa97.js
rename to assets/js/19945770.6fc6ce2a.js
index c35aafa..72422c5 100644
--- a/assets/js/19945770.76c6fa97.js
+++ b/assets/js/19945770.6fc6ce2a.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return m}));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],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return f}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/1bc24c0d.08b153c1.js b/assets/js/1bc24c0d.08b153c1.js
new file mode 100644
index 0000000..be7b814
--- /dev/null
+++ b/assets/js/1bc24c0d.08b153c1.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{270:function(e,t,a){"use strict";a.d(t,"a",(function(){return o})),a.d(t,"b",(function(){return s}));var n=a(0),l=a.n(n);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function b(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/1bc24c0d.59c1b8eb.js b/assets/js/1bc24c0d.59c1b8eb.js
deleted file mode 100644
index 5e5925c..0000000
--- a/assets/js/1bc24c0d.59c1b8eb.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{270:function(e,t,a){"use strict";a.d(t,"a",(function(){return o})),a.d(t,"b",(function(){return s}));var n=a(0),l=a.n(n);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function b(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/1ed156ee.16d0ddaa.js b/assets/js/1ed156ee.16d0ddaa.js
new file mode 100644
index 0000000..fd94035
--- /dev/null
+++ b/assets/js/1ed156ee.16d0ddaa.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{270:function(e,n,t){"use strict";t.d(n,"a",(function(){return u})),t.d(n,"b",(function(){return h}));var a=t(0),i=t.n(a);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/1ed156ee.f73b9add.js b/assets/js/1ed156ee.f73b9add.js
deleted file mode 100644
index cd3e091..0000000
--- a/assets/js/1ed156ee.f73b9add.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{270:function(e,n,t){"use strict";t.d(n,"a",(function(){return u})),t.d(n,"b",(function(){return h}));var a=t(0),i=t.n(a);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})) [...]
\ No newline at end of file
diff --git a/assets/js/32e589c1.d01a6b37.js b/assets/js/32e589c1.d01a6b37.js
new file mode 100644
index 0000000..b5761ff
--- /dev/null
+++ b/assets/js/32e589c1.d01a6b37.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{108:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(270)),o={title:"Getting Started"},c={unversionedId:"getting-started",id:"getting-started",isDocsHomePage:!1,title:"Getting Started",description:"\x3c!--",source:"@site/docs/apisix/getting-started.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/32e589c1.d9253836.js b/assets/js/32e589c1.d9253836.js
deleted file mode 100644
index f5a86bb..0000000
--- a/assets/js/32e589c1.d9253836.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{108:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return o})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return s})),a.d(t,"default",(function(){return p}));var n=a(3),r=a(8),i=(a(0),a(270)),o={title:"Getting Started"},c={unversionedId:"getting-started",id:"getting-started",isDocsHomePage:!1,title:"Getting Started",description:"\x3c!--",source:"@site/docs/apisix/getting-started.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.46d5e378.js b/assets/js/3dc9f306.c58ac029.js
similarity index 98%
rename from assets/js/3dc9f306.46d5e378.js
rename to assets/js/3dc9f306.c58ac029.js
index aa9b869..25f88d1 100644
--- a/assets/js/3dc9f306.46d5e378.js
+++ b/assets/js/3dc9f306.c58ac029.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{116:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(8),a=(n(0),n(270)),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([[48],{116:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(8),a=(n(0),n(270)),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/41a31a3f.841bd51c.js b/assets/js/41a31a3f.3a596c6c.js
similarity index 73%
rename from assets/js/41a31a3f.841bd51c.js
rename to assets/js/41a31a3f.3a596c6c.js
index 211dd23..d84127c 100644
--- a/assets/js/41a31a3f.841bd51c.js
+++ b/assets/js/41a31a3f.3a596c6c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{119:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),a=(n(0),n(270)),o={title:"Integration service discovery registry"},c={unversionedId:"discovery",id:"discovery",isDocsHomePage:!1,title:"Integration service discovery registry",description:"\x3c!--",source:"@site/doc [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{119:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),a=(n(0),n(270)),o={title:"Integration service discovery registry"},c={unversionedId:"discovery",id:"discovery",isDocsHomePage:!1,title:"Integration service discovery registry",description:"\x3c!--",source:"@site/doc [...]
\ No newline at end of file
diff --git a/assets/js/43aea6af.a2d0f482.js b/assets/js/43aea6af.6506be0d.js
similarity index 55%
rename from assets/js/43aea6af.a2d0f482.js
rename to assets/js/43aea6af.6506be0d.js
index 872be8a..18d4d03 100644
--- a/assets/js/43aea6af.a2d0f482.js
+++ b/assets/js/43aea6af.6506be0d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{121:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on Google Cloud GKE"},o={unversionedId:"deployments/gke",id:"deployments/gke",isDocsHomePage:!1,title:"Install Ingress APISIX on Google Cloud GKE",description:"\x3c!- [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{121:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),s=(n(0),n(270)),i={title:"Install Ingress APISIX on Google Cloud GKE"},o={unversionedId:"deployments/gke",id:"deployments/gke",isDocsHomePage:!1,title:"Install Ingress APISIX on Google Cloud GKE",description:"\x3c!- [...]
\ No newline at end of file
diff --git a/assets/js/4e55a385.52030767.js b/assets/js/4e55a385.908faebb.js
similarity index 94%
rename from assets/js/4e55a385.52030767.js
rename to assets/js/4e55a385.908faebb.js
index b91bd3b..23a9ad2 100644
--- a/assets/js/4e55a385.52030767.js
+++ b/assets/js/4e55a385.908faebb.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{126:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),s=(n(0),n(270)),i={title:"Install Ingress APISIX on Amazon EKS"},o={unversionedId:"deployments/aws",id:"deployments/aws",isDocsHomePage:!1,title:"Install Ingress APISIX on Amazon EKS",description:"\x3c!--",source:"@ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{126:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),s=(n(0),n(270)),i={title:"Install Ingress APISIX on Amazon EKS"},o={unversionedId:"deployments/aws",id:"deployments/aws",isDocsHomePage:!1,title:"Install Ingress APISIX on Amazon EKS",description:"\x3c!--",source:"@ [...]
\ No newline at end of file
diff --git a/assets/js/4f7f961a.18f29cec.js b/assets/js/4f7f961a.18f29cec.js
deleted file mode 100644
index 5f8ec9e..0000000
--- a/assets/js/4f7f961a.18f29cec.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{129:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return s}));var r=n(3),a=n(8),o=(n(0),n(270)),c={title:"Batch Processor"},i={unversionedId:"batch-processor",id:"batch-processor",isDocsHomePage:!1,title:"Batch Processor",description:"\x3c!--",source:"@site/docs/apisix/batch-processor.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/4f7f961a.c7014e08.js b/assets/js/4f7f961a.c7014e08.js
new file mode 100644
index 0000000..e4e1b5c
--- /dev/null
+++ b/assets/js/4f7f961a.c7014e08.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{129: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 r=n(3),a=n(8),o=(n(0),n(270)),i={title:"Batch Processor"},c={unversionedId:"batch-processor",id:"batch-processor",isDocsHomePage:!1,title:"Batch Processor",description:"\x3c!--",source:"@site/docs/apisix/batch-processor.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.9bfcfd0e.js b/assets/js/50facf8e.bec7a0b7.js
similarity index 98%
rename from assets/js/50facf8e.9bfcfd0e.js
rename to assets/js/50facf8e.bec7a0b7.js
index 3e27f70..6b276bf 100644
--- a/assets/js/50facf8e.9bfcfd0e.js
+++ b/assets/js/50facf8e.bec7a0b7.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(8),a=(r(0),r(270)),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(8),a=(r(0),r(270)),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/5381c375.c7611159.js b/assets/js/5381c375.c7611159.js
deleted file mode 100644
index d7f4dd3..0000000
--- a/assets/js/5381c375.c7611159.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{132:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return i})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),c=(n(0),n(270)),s={title:"Benchmark"},o={unversionedId:"benchmark",id:"benchmark",isDocsHomePage:!1,title:"Benchmark",description:"\x3c!--",source:"@site/docs/apisix/benchmark.md",slug:"/benchmark",permalink:"/docs/ [...]
\ No newline at end of file
diff --git a/assets/js/5381c375.f7a3e4d4.js b/assets/js/5381c375.f7a3e4d4.js
new file mode 100644
index 0000000..bd03556
--- /dev/null
+++ b/assets/js/5381c375.f7a3e4d4.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{132:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return i})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),c=(n(0),n(270)),s={title:"Benchmark"},o={unversionedId:"benchmark",id:"benchmark",isDocsHomePage:!1,title:"Benchmark",description:"\x3c!--",source:"@site/docs/apisix/benchmark.md",slug:"/benchmark",permalink:"/docs/ [...]
\ No newline at end of file
diff --git a/assets/js/5c21e7f7.0899fed0.js b/assets/js/5c21e7f7.0899fed0.js
new file mode 100644
index 0000000..b76b505
--- /dev/null
+++ b/assets/js/5c21e7f7.0899fed0.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{142:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(8),o=(n(0),n(270)),a={title:"Plugin interceptors"},c={unversionedId:"plugin-interceptors",id:"plugin-interceptors",isDocsHomePage:!1,title:"Plugin interceptors",description:"\x3c!--",source:"@site/docs/apisix/plugin-in [...]
\ No newline at end of file
diff --git a/assets/js/5c21e7f7.c380f816.js b/assets/js/5c21e7f7.c380f816.js
deleted file mode 100644
index 2e11b06..0000000
--- a/assets/js/5c21e7f7.c380f816.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{142:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return l}));var r=n(3),i=n(8),o=(n(0),n(270)),a={title:"Plugin interceptors"},c={unversionedId:"plugin-interceptors",id:"plugin-interceptors",isDocsHomePage:!1,title:"Plugin interceptors",description:"\x3c!--",source:"@site/docs/apisix/plugin-in [...]
\ No newline at end of file
diff --git a/assets/js/64288df6.40ceb1d2.js b/assets/js/64288df6.5bf4808c.js
similarity index 97%
rename from assets/js/64288df6.40ceb1d2.js
rename to assets/js/64288df6.5bf4808c.js
index f527d9d..6d12a48 100644
--- a/assets/js/64288df6.40ceb1d2.js
+++ b/assets/js/64288df6.5bf4808c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{146:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on Tencent TKE"},o={unversionedId:"deployments/tke",id:"deployments/tke",isDocsHomePage:!1,title:"Install Ingress APISIX on Tencent TKE",description:"\x3c!--",source: [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{146:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on Tencent TKE"},o={unversionedId:"deployments/tke",id:"deployments/tke",isDocsHomePage:!1,title:"Install Ingress APISIX on Tencent TKE",description:"\x3c!--",source: [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.451a20f7.js b/assets/js/66fbb9c2.23246ff9.js
similarity index 96%
rename from assets/js/66fbb9c2.451a20f7.js
rename to assets/js/66fbb9c2.23246ff9.js
index 99cc8fd..13d7a37 100644
--- a/assets/js/66fbb9c2.451a20f7.js
+++ b/assets/js/66fbb9c2.23246ff9.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{149: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(8),i=(r(0),r(270)),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([[81],{149: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(8),i=(r(0),r(270)),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/6967878f.135f14d5.js b/assets/js/6967878f.18368567.js
similarity index 85%
rename from assets/js/6967878f.135f14d5.js
rename to assets/js/6967878f.18368567.js
index b9c5c56..ef01eb4 100644
--- a/assets/js/6967878f.135f14d5.js
+++ b/assets/js/6967878f.18368567.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{152:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on ACK"},l={unversionedId:"deployments/ack",id:"deployments/ack",isDocsHomePage:!1,title:"Install Ingress APISIX on ACK",description:"\x3c!--",source:"@site/docs/apis [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{152:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on ACK"},c={unversionedId:"deployments/ack",id:"deployments/ack",isDocsHomePage:!1,title:"Install Ingress APISIX on ACK",description:"\x3c!--",source:"@site/docs/apis [...]
\ No newline at end of file
diff --git a/assets/js/6f365930.34d0a383.js b/assets/js/6f365930.34d0a383.js
deleted file mode 100644
index 40a2d64..0000000
--- a/assets/js/6f365930.34d0a383.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[87],{155:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on K3S and Rancher RKE"},o={unversionedId:"deployments/k3s-rke",id:"deployments/k3s-rke",isDocsHomePage:!1,title:"Install Ingress APISIX on K3S and Rancher RKE",descr [...]
\ No newline at end of file
diff --git a/assets/js/6f365930.504ff274.js b/assets/js/6f365930.504ff274.js
new file mode 100644
index 0000000..71ccf9e
--- /dev/null
+++ b/assets/js/6f365930.504ff274.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[87],{155:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),s=(n(0),n(270)),i={title:"Install Ingress APISIX on K3S and Rancher RKE"},o={unversionedId:"deployments/k3s-rke",id:"deployments/k3s-rke",isDocsHomePage:!1,title:"Install Ingress APISIX on K3S and Rancher RKE",descr [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.7a8684c1.js b/assets/js/7af3052c.94d7f357.js
similarity index 99%
rename from assets/js/7af3052c.7a8684c1.js
rename to assets/js/7af3052c.94d7f357.js
index c84fbf7..148ab3a 100644
--- a/assets/js/7af3052c.7a8684c1.js
+++ b/assets/js/7af3052c.94d7f357.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[97],{165: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(8),r=(t(0),t(270)),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([[97],{165: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(8),r=(t(0),t(270)),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/860d73b2.2995490b.js b/assets/js/860d73b2.2995490b.js
deleted file mode 100644
index 00b0b65..0000000
--- a/assets/js/860d73b2.2995490b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[105],{172:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var a=n(3),i=n(8),r=(n(0),n(270)),l={title:"How to build Apache APISIX"},o={unversionedId:"how-to-build",id:"how-to-build",isDocsHomePage:!1,title:"How to build Apache APISIX",description:"\x3c!--",source:"@site/docs/apisix/how-to-b [...]
\ No newline at end of file
diff --git a/assets/js/860d73b2.84cff8f3.js b/assets/js/860d73b2.84cff8f3.js
new file mode 100644
index 0000000..fe4ca05
--- /dev/null
+++ b/assets/js/860d73b2.84cff8f3.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[105],{172:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return l})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var a=n(3),i=n(8),r=(n(0),n(270)),l={title:"How to build Apache APISIX"},o={unversionedId:"how-to-build",id:"how-to-build",isDocsHomePage:!1,title:"How to build Apache APISIX",description:"\x3c!--",source:"@site/docs/apisix/how-to-b [...]
\ No newline at end of file
diff --git a/assets/js/8e27d69a.a0aa0d18.js b/assets/js/8e27d69a.a0aa0d18.js
new file mode 100644
index 0000000..5d0f61d
--- /dev/null
+++ b/assets/js/8e27d69a.a0aa0d18.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{176:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(8),o=(n(0),n(270)),a={title:"Developing for Apache APISIX Ingress Controller"},l={unversionedId:"development",id:"development",isDocsHomePage:!1,title:"Developing for Apache APISIX Ingress Controller",description:"\x3 [...]
\ No newline at end of file
diff --git a/assets/js/8e27d69a.ecee9c9b.js b/assets/js/8e27d69a.ecee9c9b.js
deleted file mode 100644
index db5eeff..0000000
--- a/assets/js/8e27d69a.ecee9c9b.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{176:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),o=(n(0),n(270)),a={title:"Developing for Apache APISIX Ingress Controller"},l={unversionedId:"development",id:"development",isDocsHomePage:!1,title:"Developing for Apache APISIX Ingress Controller",description:"\x3 [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.9736bf2e.js b/assets/js/8e784bf3.e790b9c9.js
similarity index 99%
rename from assets/js/8e784bf3.9736bf2e.js
rename to assets/js/8e784bf3.e790b9c9.js
index 84bf82c..65e4c8c 100644
--- a/assets/js/8e784bf3.9736bf2e.js
+++ b/assets/js/8e784bf3.e790b9c9.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[110],{177: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(8),a=(n(0),n(270)),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([[110],{177: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(8),a=(n(0),n(270)),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/93013804.1a261a53.js b/assets/js/93013804.0d34b6e4.js
similarity index 96%
rename from assets/js/93013804.1a261a53.js
rename to assets/js/93013804.0d34b6e4.js
index a12000d..69b8c1a 100644
--- a/assets/js/93013804.1a261a53.js
+++ b/assets/js/93013804.0d34b6e4.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[114],{181:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),a=(n(0),n(270)),s={title:"Install Ingress APISIX on Minikube"},o={unversionedId:"deployments/minikube",id:"deployments/minikube",isDocsHomePage:!1,title:"Install Ingress APISIX on Minikube",description:"\x3c!--",so [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[114],{181:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),a=(n(0),n(270)),s={title:"Install Ingress APISIX on Minikube"},o={unversionedId:"deployments/minikube",id:"deployments/minikube",isDocsHomePage:!1,title:"Install Ingress APISIX on Minikube",description:"\x3c!--",so [...]
\ No newline at end of file
diff --git a/assets/js/9969a994.1758f44c.js b/assets/js/9969a994.1758f44c.js
new file mode 100644
index 0000000..8d3710a
--- /dev/null
+++ b/assets/js/9969a994.1758f44c.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[120],{186:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return s}));var n=r(3),i=r(8),a=(r(0),r(270)),c={title:"Proxy the httpbin service"},o={unversionedId:"practices/proxy-the-httpbin-service",id:"practices/proxy-the-httpbin-service",isDocsHomePage:!1,title:"Proxy the httpbin service",description: [...]
\ No newline at end of file
diff --git a/assets/js/9969a994.45a1a842.js b/assets/js/9969a994.45a1a842.js
deleted file mode 100644
index f12e205..0000000
--- a/assets/js/9969a994.45a1a842.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[120],{186:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),i=r(8),a=(r(0),r(270)),c={title:"Proxy the httpbin service"},o={unversionedId:"practices/proxy-the-httpbin-service",id:"practices/proxy-the-httpbin-service",isDocsHomePage:!1,title:"Proxy the httpbin service",description: [...]
\ No newline at end of file
diff --git a/assets/js/9da58367.238ab2d3.js b/assets/js/9da58367.238ab2d3.js
new file mode 100644
index 0000000..8b85e40
--- /dev/null
+++ b/assets/js/9da58367.238ab2d3.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[123],{189:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return s})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(8),i=(t(0),t(270)),o={title:"ApisixRoute"},c={unversionedId:"concepts/apisix_route",id:"concepts/apisix_route",isDocsHomePage:!1,title:"ApisixRoute",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/c [...]
\ No newline at end of file
diff --git a/assets/js/9da58367.5abadd63.js b/assets/js/9da58367.5abadd63.js
deleted file mode 100644
index 779ecf1..0000000
--- a/assets/js/9da58367.5abadd63.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[123],{189:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return s})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(8),i=(t(0),t(270)),o={title:"ApisixRoute"},c={unversionedId:"concepts/apisix_route",id:"concepts/apisix_route",isDocsHomePage:!1,title:"ApisixRoute",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/c [...]
\ No newline at end of file
diff --git a/assets/js/a138bbe3.a22ff67e.js b/assets/js/a138bbe3.b1a1087f.js
similarity index 98%
rename from assets/js/a138bbe3.a22ff67e.js
rename to assets/js/a138bbe3.b1a1087f.js
index 6783243..63fefb7 100644
--- a/assets/js/a138bbe3.a22ff67e.js
+++ b/assets/js/a138bbe3.b1a1087f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[126],{192:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),s=(n(0),n(270)),i={title:"Install Dependencies"},o={unversionedId:"install-dependencies",id:"install-dependencies",isDocsHomePage:!1,title:"Install Dependencies",description:"\x3c!--",source:"@site/docs/apisix/inst [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[126],{192:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),s=(n(0),n(270)),i={title:"Install Dependencies"},o={unversionedId:"install-dependencies",id:"install-dependencies",isDocsHomePage:!1,title:"Install Dependencies",description:"\x3c!--",source:"@site/docs/apisix/inst [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.7c1e8c9a.js b/assets/js/adbb350b.c9f6bbf4.js
similarity index 99%
rename from assets/js/adbb350b.7c1e8c9a.js
rename to assets/js/adbb350b.c9f6bbf4.js
index b51fde6..5613a79 100644
--- a/assets/js/adbb350b.7c1e8c9a.js
+++ b/assets/js/adbb350b.c9f6bbf4.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{200: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(8),n=(r(0),r(270)),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([[133],{200: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(8),n=(r(0),r(270)),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/b0e5e822.4c4d9727.js b/assets/js/b0e5e822.4c4d9727.js
new file mode 100644
index 0000000..3a99574
--- /dev/null
+++ b/assets/js/b0e5e822.4c4d9727.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[135],{202:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(8),i=(n(0),n(270)),o={title:"ApisixUpstream"},s={unversionedId:"concepts/apisix_upstream",id:"concepts/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream",description:"\x3c!--",source:"@site/docs/apisix-ingress- [...]
\ No newline at end of file
diff --git a/assets/js/b0e5e822.73046474.js b/assets/js/b0e5e822.73046474.js
deleted file mode 100644
index c41b749..0000000
--- a/assets/js/b0e5e822.73046474.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[135],{202:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(8),i=(n(0),n(270)),o={title:"ApisixUpstream"},s={unversionedId:"concepts/apisix_upstream",id:"concepts/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream",description:"\x3c!--",source:"@site/docs/apisix-ingress- [...]
\ No newline at end of file
diff --git a/assets/js/b3ea87e1.ea72d7c1.js b/assets/js/b3ea87e1.c4cd04d1.js
similarity index 99%
rename from assets/js/b3ea87e1.ea72d7c1.js
rename to assets/js/b3ea87e1.c4cd04d1.js
index 5e5febe..f1a199d 100644
--- a/assets/js/b3ea87e1.ea72d7c1.js
+++ b/assets/js/b3ea87e1.c4cd04d1.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{206:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),l=(n(0),n(270)),b={title:"batch-requests"},i={unversionedId:"plugins/batch-requests",id:"plugins/batch-requests",isDocsHomePage:!1,title:"batch-requests",description:"\x3c!--",source:"@site/docs/apisix/plugins/batc [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{206:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),l=(n(0),n(270)),b={title:"batch-requests"},i={unversionedId:"plugins/batch-requests",id:"plugins/batch-requests",isDocsHomePage:!1,title:"batch-requests",description:"\x3c!--",source:"@site/docs/apisix/plugins/batc [...]
\ No newline at end of file
diff --git a/assets/js/b4a67526.37492bb7.js b/assets/js/b4a67526.37492bb7.js
deleted file mode 100644
index 2333444..0000000
--- a/assets/js/b4a67526.37492bb7.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{208:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-ingress-controller","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX Ingress Controller","href":"https://apisix.apache.org/docs/ingress-controller/getting-started/"},{"collapsed":true,"type":"category","label":"Getting Started","items":[{"type":"link","label":"Getting Started","href":"/docs/ingress-controll [...]
\ No newline at end of file
diff --git a/assets/js/b4a67526.cbe07c3d.js b/assets/js/b4a67526.cbe07c3d.js
new file mode 100644
index 0000000..051dc85
--- /dev/null
+++ b/assets/js/b4a67526.cbe07c3d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{208:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-ingress-controller","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX Ingress Controller","href":"https://apisix.apache.org/docs/ingress-controller/getting-started/"},{"type":"link","label":"Getting Started","href":"/docs/ingress-controller/getting-started"},{"collapsed":true,"type":"category","label":"Pract [...]
\ No newline at end of file
diff --git a/assets/js/b58143c5.2df7d07b.js b/assets/js/b58143c5.f6196ae1.js
similarity index 97%
rename from assets/js/b58143c5.2df7d07b.js
rename to assets/js/b58143c5.f6196ae1.js
index a48f6b0..5972c70 100644
--- a/assets/js/b58143c5.2df7d07b.js
+++ b/assets/js/b58143c5.f6196ae1.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[142],{209:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on KubeSphere"},o={unversionedId:"deployments/kubesphere",id:"deployments/kubesphere",isDocsHomePage:!1,title:"Install Ingress APISIX on KubeSphere",description:"\x3 [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[142],{209:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on KubeSphere"},o={unversionedId:"deployments/kubesphere",id:"deployments/kubesphere",isDocsHomePage:!1,title:"Install Ingress APISIX on KubeSphere",description:"\x3 [...]
\ No newline at end of file
diff --git a/assets/js/b5a39df0.87f08745.js b/assets/js/b5a39df0.87f08745.js
new file mode 100644
index 0000000..53851a9
--- /dev/null
+++ b/assets/js/b5a39df0.87f08745.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[143],{210:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return s}));var n=a(3),r=a(8),l=(a(0),a(270)),i={title:"skywalking"},p={unversionedId:"plugins/skywalking",id:"plugins/skywalking",isDocsHomePage:!1,title:"skywalking",description:"\x3c!--",source:"@site/docs/apisix/plugins/skywalking.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/b5a39df0.e06e1d51.js b/assets/js/b5a39df0.e06e1d51.js
deleted file mode 100644
index 4d7f423..0000000
--- a/assets/js/b5a39df0.e06e1d51.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[143],{210:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return s}));var n=a(3),r=a(8),l=(a(0),a(270)),i={title:"skywalking"},p={unversionedId:"plugins/skywalking",id:"plugins/skywalking",isDocsHomePage:!1,title:"skywalking",description:"\x3c!--",source:"@site/docs/apisix/plugins/skywalking.md",slug: [...]
\ No newline at end of file
diff --git a/assets/js/ca5ff64e.b0ddf83a.js b/assets/js/ca5ff64e.b0ddf83a.js
deleted file mode 100644
index 40620f9..0000000
--- a/assets/js/ca5ff64e.b0ddf83a.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[155],{222:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return l}));var r=n(3),i=n(8),s=(n(0),n(270)),a={title:"Proxy the httpbin service with Ingress"},c={unversionedId:"practices/proxy-the-httpbin-service-with-ingress",id:"practices/proxy-the-httpbin-service-with-ingress",isDocsHomePage:!1,title:" [...]
\ No newline at end of file
diff --git a/assets/js/ca5ff64e.f2cf6e8a.js b/assets/js/ca5ff64e.f2cf6e8a.js
new file mode 100644
index 0000000..1924154
--- /dev/null
+++ b/assets/js/ca5ff64e.f2cf6e8a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[155],{222:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return l}));var r=n(3),i=n(8),s=(n(0),n(270)),a={title:"Proxy the httpbin service with Ingress"},c={unversionedId:"practices/proxy-the-httpbin-service-with-ingress",id:"practices/proxy-the-httpbin-service-with-ingress",isDocsHomePage:!1,title:" [...]
\ No newline at end of file
diff --git a/assets/js/d73fca9b.937b5f53.js b/assets/js/d73fca9b.6c49c622.js
similarity index 63%
rename from assets/js/d73fca9b.937b5f53.js
rename to assets/js/d73fca9b.6c49c622.js
index 84a0921..ca5ac08 100644
--- a/assets/js/d73fca9b.937b5f53.js
+++ b/assets/js/d73fca9b.6c49c622.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[166],{232:function(i){i.exports=JSON.parse('{"pluginId":"docs-apisix","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX","href":"https://apisix.apache.org/docs/apisix/getting-started"},{"collapsed":true,"type":"category","label":"Architecture Design","items":[{"type":"link","label":"APISIX","href":"/docs/apisix/architecture-design/apisix"},{"type":"link","label":"Route","href [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[166],{232:function(i){i.exports=JSON.parse('{"pluginId":"docs-apisix","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX","href":"https://apisix.apache.org/docs/apisix/getting-started"},{"collapsed":true,"type":"category","label":"Architecture Design","items":[{"type":"link","label":"APISIX","href":"/docs/apisix/architecture-design/apisix"},{"type":"link","label":"Route","href [...]
\ No newline at end of file
diff --git a/assets/js/d9418bf0.50b0a2ff.js b/assets/js/d9418bf0.adcc4b7d.js
similarity index 62%
rename from assets/js/d9418bf0.50b0a2ff.js
rename to assets/js/d9418bf0.adcc4b7d.js
index 4651dda..5948700 100644
--- a/assets/js/d9418bf0.50b0a2ff.js
+++ b/assets/js/d9418bf0.adcc4b7d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[167],{233:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),l=(n(0),n(270)),i={title:"kafka-logger"},b={unversionedId:"plugins/kafka-logger",id:"plugins/kafka-logger",isDocsHomePage:!1,title:"kafka-logger",description:"\x3c!--",source:"@site/docs/apisix/plugins/kafka-logger [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[167],{233:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return b})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),l=(n(0),n(270)),i={title:"kafka-logger"},b={unversionedId:"plugins/kafka-logger",id:"plugins/kafka-logger",isDocsHomePage:!1,title:"kafka-logger",description:"\x3c!--",source:"@site/docs/apisix/plugins/kafka-logger [...]
\ No newline at end of file
diff --git a/assets/js/e278666a.021b9701.js b/assets/js/e278666a.8d5549f8.js
similarity index 99%
rename from assets/js/e278666a.021b9701.js
rename to assets/js/e278666a.8d5549f8.js
index 834d5e6..7a01eae 100644
--- a/assets/js/e278666a.021b9701.js
+++ b/assets/js/e278666a.8d5549f8.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[173],{239:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return b}));var r=n(3),a=n(8),l=(n(0),n(270)),i={title:"grpc-transcode"},o={unversionedId:"plugins/grpc-transcode",id:"plugins/grpc-transcode",isDocsHomePage:!1,title:"grpc-transcode",description:"\x3c!--",source:"@site/docs/apisix/plugins/grpc [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[173],{239:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return b}));var r=n(3),a=n(8),l=(n(0),n(270)),i={title:"grpc-transcode"},o={unversionedId:"plugins/grpc-transcode",id:"plugins/grpc-transcode",isDocsHomePage:!1,title:"grpc-transcode",description:"\x3c!--",source:"@site/docs/apisix/plugins/grpc [...]
\ No newline at end of file
diff --git a/assets/js/e3d364e1.9b6ff797.js b/assets/js/e3d364e1.9b6ff797.js
deleted file mode 100644
index 6b84df2..0000000
--- a/assets/js/e3d364e1.9b6ff797.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[174],{240:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(8),r=(n(0),n(270)),c={title:"HTTPS"},o={unversionedId:"https",id:"https",isDocsHomePage:!1,title:"HTTPS",description:"\x3c!--",source:"@site/docs/apisix/https.md",slug:"/https",permalink:"/docs/apisix/https",editUrl:" [...]
\ No newline at end of file
diff --git a/assets/js/e3d364e1.e73825b9.js b/assets/js/e3d364e1.e73825b9.js
new file mode 100644
index 0000000..7bbcc69
--- /dev/null
+++ b/assets/js/e3d364e1.e73825b9.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[174],{240:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return c})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(8),r=(n(0),n(270)),c={title:"HTTPS"},o={unversionedId:"https",id:"https",isDocsHomePage:!1,title:"HTTPS",description:"\x3c!--",source:"@site/docs/apisix/https.md",slug:"/https",permalink:"/docs/apisix/https",editUrl:" [...]
\ No newline at end of file
diff --git a/assets/js/e60dd3b0.49b5ffe8.js b/assets/js/e60dd3b0.49b5ffe8.js
deleted file mode 100644
index f35fb40..0000000
--- a/assets/js/e60dd3b0.49b5ffe8.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[178],{244:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(8),r=(n(0),n(270)),s={title:"Ingress Controller"},o={unversionedId:"design",id:"design",isDocsHomePage:!1,title:"Ingress Controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/design.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/e60dd3b0.7e55d226.js b/assets/js/e60dd3b0.7e55d226.js
new file mode 100644
index 0000000..1888966
--- /dev/null
+++ b/assets/js/e60dd3b0.7e55d226.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[178],{244:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var i=n(3),r=n(8),a=(n(0),n(270)),s={title:"Ingress Controller"},o={unversionedId:"design",id:"design",isDocsHomePage:!1,title:"Ingress Controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/design.md",slug:" [...]
\ No newline at end of file
diff --git a/assets/js/f45d06d8.360e7c82.js b/assets/js/f45d06d8.360e7c82.js
deleted file mode 100644
index 13313fe..0000000
--- a/assets/js/f45d06d8.360e7c82.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[187],{255: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 p}));var n=r(3),a=r(8),i=(r(0),r(270)),o={title:"Getting Started"},s={unversionedId:"getting-started",id:"getting-started",isDocsHomePage:!1,title:"Getting Started",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/getti [...]
\ No newline at end of file
diff --git a/assets/js/f45d06d8.392b8c69.js b/assets/js/f45d06d8.392b8c69.js
new file mode 100644
index 0000000..aeaa390
--- /dev/null
+++ b/assets/js/f45d06d8.392b8c69.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[187],{255: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 p}));var n=r(3),a=r(8),i=(r(0),r(270)),o={title:"Getting Started"},s={unversionedId:"getting-started",id:"getting-started",isDocsHomePage:!1,title:"Getting Started",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/getti [...]
\ No newline at end of file
diff --git a/assets/js/f6cd6006.db4a4623.js b/assets/js/f6cd6006.df19eafd.js
similarity index 58%
rename from assets/js/f6cd6006.db4a4623.js
rename to assets/js/f6cd6006.df19eafd.js
index 69bcf5e..2ed6898 100644
--- a/assets/js/f6cd6006.db4a4623.js
+++ b/assets/js/f6cd6006.df19eafd.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[189],{257:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on Azure AKS"},o={unversionedId:"deployments/azure",id:"deployments/azure",isDocsHomePage:!1,title:"Install Ingress APISIX on Azure AKS",description:"\x3c!--",source [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[189],{257:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),s=(n(0),n(270)),i={title:"Install Ingress APISIX on Azure AKS"},o={unversionedId:"deployments/azure",id:"deployments/azure",isDocsHomePage:!1,title:"Install Ingress APISIX on Azure AKS",description:"\x3c!--",source [...]
\ No newline at end of file
diff --git a/assets/js/f8217c69.986e0861.js b/assets/js/f8217c69.986e0861.js
deleted file mode 100644
index d67441f..0000000
--- a/assets/js/f8217c69.986e0861.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[192],{260:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return b})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return p}));var n=a(3),r=a(8),l=(a(0),a(270)),i={title:"ApisixUpstream Reference"},b={unversionedId:"references/apisix_upstream",id:"references/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream Reference",description:"\x3c!--",source:"@s [...]
\ No newline at end of file
diff --git a/assets/js/f8217c69.ff154d03.js b/assets/js/f8217c69.ff154d03.js
new file mode 100644
index 0000000..00e28a4
--- /dev/null
+++ b/assets/js/f8217c69.ff154d03.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[192],{260:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return b})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return p}));var n=a(3),r=a(8),l=(a(0),a(270)),i={title:"ApisixUpstream Reference"},b={unversionedId:"references/apisix_upstream",id:"references/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream Reference",description:"\x3c!--",source:"@s [...]
\ No newline at end of file
diff --git a/assets/js/main.690fe4bb.js b/assets/js/main.690fe4bb.js
new file mode 100644
index 0000000..796e287
--- /dev/null
+++ b/assets/js/main.690fe4bb.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.690fe4bb.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[196],[function(e,t,n){"use strict";e.exports=n(39)},function(e,t,n){e.exports=n(43)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return x})),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 j})),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/zh/assets/js/main.ad1f99cc.js.LICENSE.txt b/assets/js/main.690fe4bb.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.ad1f99cc.js.LICENSE.txt
rename to assets/js/main.690fe4bb.js.LICENSE.txt
diff --git a/assets/js/main.e9e5b420.js b/assets/js/main.e9e5b420.js
deleted file mode 100644
index 7953978..0000000
--- a/assets/js/main.e9e5b420.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.e9e5b420.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[196],[function(e,t,n){"use strict";e.exports=n(39)},function(e,t,n){e.exports=n(43)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return x})),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 j})),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/runtime~main.a25f06dd.js b/assets/js/runtime~main.c0371017.js
similarity index 68%
rename from assets/js/runtime~main.a25f06dd.js
rename to assets/js/runtime~main.c0371017.js
index 7fd8e42..72d7134 100644
--- a/assets/js/runtime~main.a25f06dd.js
+++ b/assets/js/runtime~main.c0371017.js
@@ -1 +1 @@
-!function(e){function f(f){for(var d,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(d in n)Object.prototype.hasOwnProperty.call(n,d)&&(e[d]=n[d]);for(i&&i(f);l.length;)l.shift()();return c.push.apply(c,o||[]),a()}function a(){for(var e,f=0;f<c.length;f++){for(var a=c[f],d=!0,r=1;r<a.length;r++){var n=a[r];0!==b[n]&&(d=!1)}d&&(c.splice(f--,1),e=t(t.s=a[0]))}return e}var d={},b={197:0},c=[];function r(e){ret [...]
\ No newline at end of file
+!function(e){function f(f){for(var c,r,t=f[0],n=f[1],o=f[2],u=0,l=[];u<t.length;u++)r=t[u],Object.prototype.hasOwnProperty.call(d,r)&&d[r]&&l.push(d[r][0]),d[r]=0;for(c in n)Object.prototype.hasOwnProperty.call(n,c)&&(e[c]=n[c]);for(i&&i(f);l.length;)l.shift()();return b.push.apply(b,o||[]),a()}function a(){for(var e,f=0;f<b.length;f++){for(var a=b[f],c=!0,r=1;r<a.length;r++){var n=a[r];0!==d[n]&&(c=!1)}c&&(b.splice(f--,1),e=t(t.s=a[0]))}return e}var c={},d={197: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 030ad63..cd4c9b2 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 592acb9..ab20cae 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -31,8 +31,8 @@
 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 5990ef3..50433dc 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 0723a35..7e57cd3 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -30,8 +30,8 @@
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 c707924..e67ffac 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 4e56876..dcea59e 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -31,8 +31,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apache APIS [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME: apisix-gw</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">LAST DEPLOYED: Fri Feb 19 11:34:14 2021</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAMESPACE: default</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">STATUS: deployed</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 46defd5..f8929cf 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 a10c05c..cba949a 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="@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><me [...]
 <link rel="preload" href="/assets/js/styles.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.js"></script>
diff --git a/blog/index.html b/blog/index.html
index 5614424..4b4aa9f 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -37,8 +37,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.js"></script>
diff --git a/docs/apisix/FAQ/index.html b/docs/apisix/FAQ/index.html
index ff368a4..2d60797 100644
--- a/docs/apisix/FAQ/index.html
+++ b/docs/apisix/FAQ/index.html
@@ -16,33 +16,34 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/162a65a3.d3a4dcb0.js" as="script">
+<link rel="preload" href="/assets/js/162a65a3.34fd45ff.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 </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" 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= [...]
+</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= [...]
+</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 punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token punctuation" style="color:rgb(199 [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/162a65a3.d3a4dcb0.js"></script>
+<script src="/assets/js/162a65a3.34fd45ff.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/IGNORE_DOC/index.html b/docs/apisix/IGNORE_DOC/index.html
index 1b937ed..9db0e08 100644
--- a/docs/apisix/IGNORE_DOC/index.html
+++ b/docs/apisix/IGNORE_DOC/index.html
@@ -16,12 +16,12 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/601c6eaa.65340863.js" as="script">
 </head>
@@ -29,12 +29,12 @@
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/601c6eaa.65340863.js"></script>
 </body>
diff --git a/docs/apisix/admin-api/index.html b/docs/apisix/admin-api/index.html
index b91f200..34c5e15 100644
--- a/docs/apisix/admin-api/index.html
+++ b/docs/apisix/admin-api/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
 <link rel="preload" href="/assets/js/styles.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/1bc24c0d.59c1b8eb.js" as="script">
+<link rel="preload" href="/assets/js/1bc24c0d.08b153c1.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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  [...]
@@ -91,13 +91,13 @@ used when all the nodes with higher priority are unavailable or tried.</p><p>As
 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/1bc24c0d.59c1b8eb.js"></script>
+<script src="/assets/js/1bc24c0d.08b153c1.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/architecture-design/apisix/index.html b/docs/apisix/architecture-design/apisix/index.html
index a4f4f7e..efdbe80 100644
--- a/docs/apisix/architecture-design/apisix/index.html
+++ b/docs/apisix/architecture-design/apisix/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/92b07c7e.4f2af9aa.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/92b07c7e.4f2af9aa.js"></script>
 </body>
diff --git a/docs/apisix/architecture-design/consumer/index.html b/docs/apisix/architecture-design/consumer/index.html
index 6f1140c..06be5ac 100644
--- a/docs/apisix/architecture-design/consumer/index.html
+++ b/docs/apisix/architecture-design/consumer/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/ec546d2e.27c63a15.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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,12 +36,12 @@
 </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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/ec546d2e.27c63a15.js"></script>
 </body>
diff --git a/docs/apisix/architecture-design/debug-mode/index.html b/docs/apisix/architecture-design/debug-mode/index.html
index c6f390e..1ace634 100644
--- a/docs/apisix/architecture-design/debug-mode/index.html
+++ b/docs/apisix/architecture-design/debug-mode/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/91ce05ef.f6a571b7.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/91ce05ef.f6a571b7.js"></script>
 </body>
diff --git a/docs/apisix/architecture-design/global-rule/index.html b/docs/apisix/architecture-design/global-rule/index.html
index d8705d6..cd23aa7 100644
--- a/docs/apisix/architecture-design/global-rule/index.html
+++ b/docs/apisix/architecture-design/global-rule/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/2b03a116.e4b3b757.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/2b03a116.e4b3b757.js"></script>
 </body>
diff --git a/docs/apisix/architecture-design/plugin-config/index.html b/docs/apisix/architecture-design/plugin-config/index.html
index 0ee873e..9be09fd 100644
--- a/docs/apisix/architecture-design/plugin-config/index.html
+++ b/docs/apisix/architecture-design/plugin-config/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/ef63a76e.8961b158.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/ef63a76e.8961b158.js"></script>
 </body>
diff --git a/docs/apisix/architecture-design/plugin/index.html b/docs/apisix/architecture-design/plugin/index.html
index 681f4e5..2ddeee4 100644
--- a/docs/apisix/architecture-design/plugin/index.html
+++ b/docs/apisix/architecture-design/plugin/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/f202f54b.147e6732.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/f202f54b.147e6732.js"></script>
 </body>
diff --git a/docs/apisix/architecture-design/route/index.html b/docs/apisix/architecture-design/route/index.html
index 27efc83..069c079 100644
--- a/docs/apisix/architecture-design/route/index.html
+++ b/docs/apisix/architecture-design/route/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/89d0b30c.5a34fca0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/89d0b30c.5a34fca0.js"></script>
 </body>
diff --git a/docs/apisix/architecture-design/router/index.html b/docs/apisix/architecture-design/router/index.html
index c90cb4e..6f452c9 100644
--- a/docs/apisix/architecture-design/router/index.html
+++ b/docs/apisix/architecture-design/router/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/8b956bd2.c2281f84.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/8b956bd2.c2281f84.js"></script>
 </body>
diff --git a/docs/apisix/architecture-design/script/index.html b/docs/apisix/architecture-design/script/index.html
index 8f4b4fa..f8e3b22 100644
--- a/docs/apisix/architecture-design/script/index.html
+++ b/docs/apisix/architecture-design/script/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/0dc3e78d.6f67ea1c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/0dc3e78d.6f67ea1c.js"></script>
 </body>
diff --git a/docs/apisix/architecture-design/service/index.html b/docs/apisix/architecture-design/service/index.html
index 7dfe264..84d7846 100644
--- a/docs/apisix/architecture-design/service/index.html
+++ b/docs/apisix/architecture-design/service/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/dcb3fc1e.f0b80faf.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/dcb3fc1e.f0b80faf.js"></script>
 </body>
diff --git a/docs/apisix/architecture-design/upstream/index.html b/docs/apisix/architecture-design/upstream/index.html
index d566375..7c20bc9 100644
--- a/docs/apisix/architecture-design/upstream/index.html
+++ b/docs/apisix/architecture-design/upstream/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/e5ad0cc6.4d433c7b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/e5ad0cc6.4d433c7b.js"></script>
 </body>
diff --git a/docs/apisix/aws/index.html b/docs/apisix/aws/index.html
index 83e1394..c4da7f2 100644
--- a/docs/apisix/aws/index.html
+++ b/docs/apisix/aws/index.html
@@ -16,12 +16,12 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/71950930.339c66d6.js" as="script">
 </head>
@@ -51,12 +51,12 @@
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/71950930.339c66d6.js"></script>
 </body>
diff --git a/docs/apisix/batch-processor/index.html b/docs/apisix/batch-processor/index.html
index c25d6ff..47fc4e8 100644
--- a/docs/apisix/batch-processor/index.html
+++ b/docs/apisix/batch-processor/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/4f7f961a.18f29cec.js" as="script">
+<link rel="preload" href="/assets/js/4f7f961a.c7014e08.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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 [...]
@@ -37,15 +37,15 @@ argument and the batch configuration as the second parameter.</p><div class="mdx
 </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">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Note: Please make sure th [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
-keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3 [...]
+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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/4f7f961a.18f29cec.js"></script>
+<script src="/assets/js/4f7f961a.c7014e08.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/benchmark/index.html b/docs/apisix/benchmark/index.html
index bccc312..0520a8e 100644
--- a/docs/apisix/benchmark/index.html
+++ b/docs/apisix/benchmark/index.html
@@ -16,31 +16,31 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/5381c375.c7611159.js" as="script">
+<link rel="preload" href="/assets/js/5381c375.f7a3e4d4.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
+<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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/5381c375.c7611159.js"></script>
+<script src="/assets/js/5381c375.f7a3e4d4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/control-api/index.html b/docs/apisix/control-api/index.html
index 2539112..6506833 100644
--- a/docs/apisix/control-api/index.html
+++ b/docs/apisix/control-api/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/ff8d1795.6b1ff326.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/ff8d1795.6b1ff326.js"></script>
 </body>
diff --git a/docs/apisix/customize-nginx-configuration/index.html b/docs/apisix/customize-nginx-configuration/index.html
index 45208d5..0c15790 100644
--- a/docs/apisix/customize-nginx-configuration/index.html
+++ b/docs/apisix/customize-nginx-configuration/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/0132ab2c.be02a700.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/0132ab2c.be02a700.js"></script>
 </body>
diff --git a/docs/apisix/debug-function/index.html b/docs/apisix/debug-function/index.html
index aaa0c5f..6d3253d 100644
--- a/docs/apisix/debug-function/index.html
+++ b/docs/apisix/debug-function/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/11dba9b3.13ed94e3.js" as="script">
+<link rel="preload" href="/assets/js/11dba9b3.4a928104.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/11dba9b3.13ed94e3.js"></script>
+<script src="/assets/js/11dba9b3.4a928104.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/consul_kv/index.html b/docs/apisix/discovery/consul_kv/index.html
index 4502c6b..c52502c 100644
--- a/docs/apisix/discovery/consul_kv/index.html
+++ b/docs/apisix/discovery/consul_kv/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/e461335b.06b4c2c5.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/e461335b.06b4c2c5.js"></script>
 </body>
diff --git a/docs/apisix/discovery/dns/index.html b/docs/apisix/discovery/dns/index.html
index 65a7e3e..c6344a1 100644
--- a/docs/apisix/discovery/dns/index.html
+++ b/docs/apisix/discovery/dns/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/72ff46d3.1cb2e254.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">; name  TTL         type    priority    weight  port</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">srv     86400 IN    SRV     10          60      1980 A</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">srv     86400 IN    SRV     20          20      1981 B</span></div></div></div><button type="button" aria-label="Copy code to clipb [...]
@@ -38,12 +38,12 @@ 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/72ff46d3.1cb2e254.js"></script>
 </body>
diff --git a/docs/apisix/discovery/eureka/index.html b/docs/apisix/discovery/eureka/index.html
index 86bcea5..5839945 100644
--- a/docs/apisix/discovery/eureka/index.html
+++ b/docs/apisix/discovery/eureka/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/af4112e0.55110529.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/af4112e0.55110529.js"></script>
 </body>
diff --git a/docs/apisix/discovery/index.html b/docs/apisix/discovery/index.html
index 3a29efa..daff6f8 100644
--- a/docs/apisix/discovery/index.html
+++ b/docs/apisix/discovery/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/41a31a3f.841bd51c.js" as="script">
+<link rel="preload" href="/assets/js/41a31a3f.3a596c6c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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">
@@ -37,16 +37,16 @@
 </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" 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 punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;value&quot;</span><span class="token plain">:</span><span class="token  [...]
+</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;</span></ [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/41a31a3f.841bd51c.js"></script>
+<script src="/assets/js/41a31a3f.3a596c6c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/discovery/nacos/index.html b/docs/apisix/discovery/nacos/index.html
index 9181679..a5a8684 100644
--- a/docs/apisix/discovery/nacos/index.html
+++ b/docs/apisix/discovery/nacos/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX™</title><meta data-react-helmet="true" 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/b3ea7b47.920ff128.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/b3ea7b47.920ff128.js"></script>
 </body>
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 18dd041..f440ce2 100644
--- a/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/examples/plugins-hmac-auth-generate-signature/index.html
@@ -16,12 +16,12 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/27858f29.e6a5c3ae.js" as="script">
 </head>
@@ -63,12 +63,12 @@
 </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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/27858f29.e6a5c3ae.js"></script>
 </body>
diff --git a/docs/apisix/getting-started/index.html b/docs/apisix/getting-started/index.html
index c3dd841..d14290b 100644
--- a/docs/apisix/getting-started/index.html
+++ b/docs/apisix/getting-started/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/32e589c1.d9253836.js" as="script">
+<link rel="preload" href="/assets/js/32e589c1.d01a6b37.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 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/5 -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 [...]
+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 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 [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/32e589c1.d9253836.js"></script>
+<script src="/assets/js/32e589c1.d01a6b37.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/grpc-proxy/index.html b/docs/apisix/grpc-proxy/index.html
index 3ed430b..a838e3e 100644
--- a/docs/apisix/grpc-proxy/index.html
+++ b/docs/apisix/grpc-proxy/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/5b9020fd.d2bd3312.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/5b9020fd.d2bd3312.js"></script>
 </body>
diff --git a/docs/apisix/health-check/index.html b/docs/apisix/health-check/index.html
index b0cbda4..a7fdec7 100644
--- a/docs/apisix/health-check/index.html
+++ b/docs/apisix/health-check/index.html
@@ -16,29 +16,29 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/8cdcb209.2c41a268.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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:</p><ul><li>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.</li><li>If there is no healthy node can be chosen, we will continue to access the upstream.</li><li>We won&#x27;t start the health check when the upstream only has one node, as we will access
 it whether this unique node is healthy or not.</li></ul><p>The following is an example of health check:</p><div class="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. [...]
 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/8cdcb209.2c41a268.js"></script>
 </body>
diff --git a/docs/apisix/how-to-build/index.html b/docs/apisix/how-to-build/index.html
index c68d2c8..8ed6121 100644
--- a/docs/apisix/how-to-build/index.html
+++ b/docs/apisix/how-to-build/index.html
@@ -16,19 +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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/860d73b2.2995490b.js" as="script">
+<link rel="preload" href="/assets/js/860d73b2.84cff8f3.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
 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 [...]
@@ -39,15 +38,15 @@ make sure to set openresty as default nginx. And export the path as below.</li><
 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 [...]
 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 [...]
+<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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/860d73b2.2995490b.js"></script>
+<script src="/assets/js/860d73b2.84cff8f3.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/https/index.html b/docs/apisix/https/index.html
index a20d937..7267f12 100644
--- a/docs/apisix/https/index.html
+++ b/docs/apisix/https/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/e3d364e1.9b6ff797.js" as="script">
+<link rel="preload" href="/assets/js/e3d364e1.e73825b9.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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">
@@ -42,15 +42,15 @@ instance, supporting both the
 and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
-pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0 [...]
+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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/e3d364e1.9b6ff797.js"></script>
+<script src="/assets/js/e3d364e1.e73825b9.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/install-dependencies/index.html b/docs/apisix/install-dependencies/index.html
index 33a3458..70f665b 100644
--- a/docs/apisix/install-dependencies/index.html
+++ b/docs/apisix/install-dependencies/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/a138bbe3.a22ff67e.js" as="script">
+<link rel="preload" href="/assets/js/a138bbe3.b1a1087f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
@@ -46,15 +46,15 @@
 </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">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 [...]
+</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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/a138bbe3.a22ff67e.js"></script>
+<script src="/assets/js/a138bbe3.b1a1087f.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/mtls/index.html b/docs/apisix/mtls/index.html
index bbb74e8..16b16ea 100644
--- a/docs/apisix/mtls/index.html
+++ b/docs/apisix/mtls/index.html
@@ -16,12 +16,12 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/cf167ebd.d3a0fd48.js" as="script">
 </head>
@@ -30,12 +30,12 @@
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/cf167ebd.d3a0fd48.js"></script>
 </body>
diff --git a/docs/apisix/plugin-develop/index.html b/docs/apisix/plugin-develop/index.html
index 20ecd2e..29b3315 100644
--- a/docs/apisix/plugin-develop/index.html
+++ b/docs/apisix/plugin-develop/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/1ed156ee.f73b9add.js" as="script">
+<link rel="preload" href="/assets/js/1ed156ee.16d0ddaa.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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
@@ -59,15 +59,15 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 </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" 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 [...]
+</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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/1ed156ee.f73b9add.js"></script>
+<script src="/assets/js/1ed156ee.16d0ddaa.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugin-interceptors/index.html b/docs/apisix/plugin-interceptors/index.html
index 32baca7..ba92379 100644
--- a/docs/apisix/plugin-interceptors/index.html
+++ b/docs/apisix/plugin-interceptors/index.html
@@ -16,31 +16,31 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/5c21e7f7.c380f816.js" as="script">
+<link rel="preload" href="/assets/js/5c21e7f7.0899fed0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
+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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/5c21e7f7.c380f816.js"></script>
+<script src="/assets/js/5c21e7f7.0899fed0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/api-breaker/index.html b/docs/apisix/plugins/api-breaker/index.html
index 802792b..52a90be 100644
--- a/docs/apisix/plugins/api-breaker/index.html
+++ b/docs/apisix/plugins/api-breaker/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/579f31ee.08159244.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/579f31ee.08159244.js"></script>
 </body>
diff --git a/docs/apisix/plugins/authz-keycloak/index.html b/docs/apisix/plugins/authz-keycloak/index.html
index 65a130a..a3a7640 100644
--- a/docs/apisix/plugins/authz-keycloak/index.html
+++ b/docs/apisix/plugins/authz-keycloak/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/746acb87.81a6ccb1.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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
@@ -55,12 +55,12 @@ API workflows. Run the following docker image and visit <code>http://localhost:8
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspect [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/746acb87.81a6ccb1.js"></script>
 </body>
diff --git a/docs/apisix/plugins/basic-auth/index.html b/docs/apisix/plugins/basic-auth/index.html
index 1b20ba2..389d67f 100644
--- a/docs/apisix/plugins/basic-auth/index.html
+++ b/docs/apisix/plugins/basic-auth/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/dd639a99.07a99646.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/dd639a99.07a99646.js"></script>
 </body>
diff --git a/docs/apisix/plugins/batch-requests/index.html b/docs/apisix/plugins/batch-requests/index.html
index 7523967..63db493 100644
--- a/docs/apisix/plugins/batch-requests/index.html
+++ b/docs/apisix/plugins/batch-requests/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/b3ea87e1.ea72d7c1.js" as="script">
+<link rel="preload" href="/assets/js/b3ea87e1.c4cd04d1.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
+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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/b3ea87e1.ea72d7c1.js"></script>
+<script src="/assets/js/b3ea87e1.c4cd04d1.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/consumer-restriction/index.html b/docs/apisix/plugins/consumer-restriction/index.html
index 4ea8f9a..e921ffe 100644
--- a/docs/apisix/plugins/consumer-restriction/index.html
+++ b/docs/apisix/plugins/consumer-restriction/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/1fb562de.c34a8b98.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/1fb562de.c34a8b98.js"></script>
 </body>
diff --git a/docs/apisix/plugins/cors/index.html b/docs/apisix/plugins/cors/index.html
index 671e2c8..c8b773c 100644
--- a/docs/apisix/plugins/cors/index.html
+++ b/docs/apisix/plugins/cors/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/00ee19e9.997f2155.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/00ee19e9.997f2155.js"></script>
 </body>
diff --git a/docs/apisix/plugins/dubbo-proxy/index.html b/docs/apisix/plugins/dubbo-proxy/index.html
index 5ba7317..04fa73e 100644
--- a/docs/apisix/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/plugins/dubbo-proxy/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/601cd3be.705d88a9.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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 [...]
@@ -35,12 +35,12 @@ 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/601cd3be.705d88a9.js"></script>
 </body>
diff --git a/docs/apisix/plugins/echo/index.html b/docs/apisix/plugins/echo/index.html
index 5106ee5..33936e5 100644
--- a/docs/apisix/plugins/echo/index.html
+++ b/docs/apisix/plugins/echo/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/c888429e.95c6e915.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/c888429e.95c6e915.js"></script>
 </body>
diff --git a/docs/apisix/plugins/error-log-logger/index.html b/docs/apisix/plugins/error-log-logger/index.html
index f75c7e6..1687a11 100644
--- a/docs/apisix/plugins/error-log-logger/index.html
+++ b/docs/apisix/plugins/error-log-logger/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/70fb06d4.7b35c299.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/70fb06d4.7b35c299.js"></script>
 </body>
diff --git a/docs/apisix/plugins/fault-injection/index.html b/docs/apisix/plugins/fault-injection/index.html
index 4701a64..76e6d33 100644
--- a/docs/apisix/plugins/fault-injection/index.html
+++ b/docs/apisix/plugins/fault-injection/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/6d5713a9.6101fafe.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
@@ -49,12 +49,12 @@
 </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" 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/6d5713a9.6101fafe.js"></script>
 </body>
diff --git a/docs/apisix/plugins/grpc-transcode/index.html b/docs/apisix/plugins/grpc-transcode/index.html
index db19509..3aa68e8 100644
--- a/docs/apisix/plugins/grpc-transcode/index.html
+++ b/docs/apisix/plugins/grpc-transcode/index.html
@@ -16,29 +16,29 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/e278666a.021b9701.js" as="script">
+<link rel="preload" href="/assets/js/e278666a.8d5549f8.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/e278666a.021b9701.js"></script>
+<script src="/assets/js/e278666a.8d5549f8.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/hmac-auth/index.html b/docs/apisix/plugins/hmac-auth/index.html
index 0cdc5be..d9b0917 100644
--- a/docs/apisix/plugins/hmac-auth/index.html
+++ b/docs/apisix/plugins/hmac-auth/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/59472992.fbaee69e.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">secret </span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain"> </span><span class="token builtin" style="color:rgb(130, 170, 255)">bytes</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token string" style="color:rgb(195, 232, 141)">&#x27;my-secret-key&#x27;</span><span class="token punctuation" style="color:rgb(19 [...]
@@ -41,12 +41,12 @@ you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/59472992.fbaee69e.js"></script>
 </body>
diff --git a/docs/apisix/plugins/http-logger/index.html b/docs/apisix/plugins/http-logger/index.html
index da23492..748f07a 100644
--- a/docs/apisix/plugins/http-logger/index.html
+++ b/docs/apisix/plugins/http-logger/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/2a2f078e.5702dd48.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/2a2f078e.5702dd48.js"></script>
 </body>
diff --git a/docs/apisix/plugins/index.html b/docs/apisix/plugins/index.html
index 1ce7d1e..e41b360 100644
--- a/docs/apisix/plugins/index.html
+++ b/docs/apisix/plugins/index.html
@@ -16,12 +16,12 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/d0f73e13.da45fea6.js" as="script">
 </head>
@@ -30,12 +30,12 @@
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/d0f73e13.da45fea6.js"></script>
 </body>
diff --git a/docs/apisix/plugins/ip-restriction/index.html b/docs/apisix/plugins/ip-restriction/index.html
index 5257db7..94d133b 100644
--- a/docs/apisix/plugins/ip-restriction/index.html
+++ b/docs/apisix/plugins/ip-restriction/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/746d4aad.77a73c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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 [...]
@@ -36,12 +36,12 @@ no need to restart the service, it will take effect immediately:</p><div class="
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/746d4aad.77a73c8c.js"></script>
 </body>
diff --git a/docs/apisix/plugins/jwt-auth/index.html b/docs/apisix/plugins/jwt-auth/index.html
index 157a08e..d719901 100644
--- a/docs/apisix/plugins/jwt-auth/index.html
+++ b/docs/apisix/plugins/jwt-auth/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/cf554819.e5228e79.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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>Create a Route or Service object and enable the jwt-auth plugin:</li></ol><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/plugin/jwt-auth-3.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><h4><a [...]
 </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><ul><li>with extension payload:</li></ul><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code lang [...]
@@ -38,12 +38,12 @@ You may need to use <a href="/docs/apisix/plugin-interceptors">interceptors</a>
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0. [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/cf554819.e5228e79.js"></script>
 </body>
diff --git a/docs/apisix/plugins/kafka-logger/index.html b/docs/apisix/plugins/kafka-logger/index.html
index 1cdb3b3..b4e7347 100644
--- a/docs/apisix/plugins/kafka-logger/index.html
+++ b/docs/apisix/plugins/kafka-logger/index.html
@@ -16,19 +16,19 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/d9418bf0.50b0a2ff.js" as="script">
+<link rel="preload" href="/assets/js/d9418bf0.adcc4b7d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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>.
@@ -36,13 +36,13 @@ In case of errors, returns <code>nil</code> with a string describing the error (
 sample to take effect of this functionality.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span></div><div class="token-line" style="color:#bfc7d5"><span class=" [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127 [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/d9418bf0.50b0a2ff.js"></script>
+<script src="/assets/js/d9418bf0.adcc4b7d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/key-auth/index.html b/docs/apisix/plugins/key-auth/index.html
index 196af8c..09554ac 100644
--- a/docs/apisix/plugins/key-auth/index.html
+++ b/docs/apisix/plugins/key-auth/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/c44a0953.08ca2806.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/c44a0953.08ca2806.js"></script>
 </body>
diff --git a/docs/apisix/plugins/limit-conn/index.html b/docs/apisix/plugins/limit-conn/index.html
index 10a05af..49d054a 100644
--- a/docs/apisix/plugins/limit-conn/index.html
+++ b/docs/apisix/plugins/limit-conn/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/042f2dd8.00e6fb6a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/042f2dd8.00e6fb6a.js"></script>
 </body>
diff --git a/docs/apisix/plugins/limit-count/index.html b/docs/apisix/plugins/limit-count/index.html
index 09c215a..1565504 100644
--- a/docs/apisix/plugins/limit-count/index.html
+++ b/docs/apisix/plugins/limit-count/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/b28b7341.ad440845.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 which mean the total number of requests and the remaining number of requests that can be sent:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span cl [...]
@@ -35,12 +35,12 @@ which mean the total number of requests and the remaining number of requests tha
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/b28b7341.ad440845.js"></script>
 </body>
diff --git a/docs/apisix/plugins/limit-req/index.html b/docs/apisix/plugins/limit-req/index.html
index dafb8d9..30ce757 100644
--- a/docs/apisix/plugins/limit-req/index.html
+++ b/docs/apisix/plugins/limit-req/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/25fbf809.353e8ea1.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/25fbf809.353e8ea1.js"></script>
 </body>
diff --git a/docs/apisix/plugins/log-rotate/index.html b/docs/apisix/plugins/log-rotate/index.html
index 3fc9b18..cb28dff 100644
--- a/docs/apisix/plugins/log-rotate/index.html
+++ b/docs/apisix/plugins/log-rotate/index.html
@@ -16,29 +16,29 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/ed20433f.55cb902d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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></ [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/ed20433f.55cb902d.js"></script>
 </body>
diff --git a/docs/apisix/plugins/mqtt-proxy/index.html b/docs/apisix/plugins/mqtt-proxy/index.html
index 266941c..71f0b04 100644
--- a/docs/apisix/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/plugins/mqtt-proxy/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/2f7e5bad.e6021b10.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/2f7e5bad.e6021b10.js"></script>
 </body>
diff --git a/docs/apisix/plugins/node-status/index.html b/docs/apisix/plugins/node-status/index.html
index b40a43c..08bf622 100644
--- a/docs/apisix/plugins/node-status/index.html
+++ b/docs/apisix/plugins/node-status/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/31fa6cf3.344a13de.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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 [...]
@@ -36,12 +36,12 @@ then you can not add this plugin in any route.</li></ol><div class="mdxCodeBlock
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately.</li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -i - [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/31fa6cf3.344a13de.js"></script>
 </body>
diff --git a/docs/apisix/plugins/openid-connect/index.html b/docs/apisix/plugins/openid-connect/index.html
index 75ea3b4..4e2f8d5 100644
--- a/docs/apisix/plugins/openid-connect/index.html
+++ b/docs/apisix/plugins/openid-connect/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/098c8b15.873c8511.js" as="script">
+<link rel="preload" href="/assets/js/098c8b15.1c2acc5c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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
@@ -45,7 +45,8 @@ will be rejected without redirecting to the ID provider to obtain a valid token.
 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 [...]
+For more details, please read:</p><ol><li><a href="https://github.com/zmartzone/lua-resty-openidc" target="_blank" rel="noopener noreferrer">lua-resty-openidc</a>&#x27;s doc and source code.</li><li><code>exp</code> field in the RFC&#x27;s <a href="https://tools.ietf.org/html/rfc7662#section-2.2" target="_blank" rel="noopener noreferrer">Introspection Response</a> section.</li></ol><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="introspecting-with-public-key"></a>Introspecting [...]
 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 [...]
 the plugin can act as an OIDC Relying Party and redirect to the authorization endpoint of the identity provider
@@ -55,13 +56,13 @@ and further information from the identity provider on behalf of the user. The in
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
 and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</sp [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/098c8b15.873c8511.js"></script>
+<script src="/assets/js/098c8b15.1c2acc5c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/prometheus/index.html b/docs/apisix/plugins/prometheus/index.html
index 34f3f71..f476bcd 100644
--- a/docs/apisix/plugins/prometheus/index.html
+++ b/docs/apisix/plugins/prometheus/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/3ace1223.cf9f1639.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 Notice, <code>name</code> could be duplicated for multiple routes/services, so when set <code>prefer_name</code> to <code>true</code>, take care of naming format or it could be misleading.</p><p>For example:</p><div class="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 c [...]
 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/3ace1223.cf9f1639.js"></script>
 </body>
diff --git a/docs/apisix/plugins/proxy-cache/index.html b/docs/apisix/plugins/proxy-cache/index.html
index 60f7282..116f473 100644
--- a/docs/apisix/plugins/proxy-cache/index.html
+++ b/docs/apisix/plugins/proxy-cache/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/d3e633ff.818f794a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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"> [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/d3e633ff.818f794a.js"></script>
 </body>
diff --git a/docs/apisix/plugins/proxy-mirror/index.html b/docs/apisix/plugins/proxy-mirror/index.html
index d813c4e..d4101b7 100644
--- a/docs/apisix/plugins/proxy-mirror/index.html
+++ b/docs/apisix/plugins/proxy-mirror/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/84a8b022.32040ebc.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/84a8b022.32040ebc.js"></script>
 </body>
diff --git a/docs/apisix/plugins/proxy-rewrite/index.html b/docs/apisix/plugins/proxy-rewrite/index.html
index 8a52c73..0a2524c 100644
--- a/docs/apisix/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/plugins/proxy-rewrite/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/383740fd.20e1d317.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/383740fd.20e1d317.js"></script>
 </body>
diff --git a/docs/apisix/plugins/redirect/index.html b/docs/apisix/plugins/redirect/index.html
index 995c80a..0996add 100644
--- a/docs/apisix/plugins/redirect/index.html
+++ b/docs/apisix/plugins/redirect/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/7193710f.ea510280.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/7193710f.ea510280.js"></script>
 </body>
diff --git a/docs/apisix/plugins/referer-restriction/index.html b/docs/apisix/plugins/referer-restriction/index.html
index 7f35503..b76aa12 100644
--- a/docs/apisix/plugins/referer-restriction/index.html
+++ b/docs/apisix/plugins/referer-restriction/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/3a136aea.84bb341d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/3a136aea.84bb341d.js"></script>
 </body>
diff --git a/docs/apisix/plugins/request-id/index.html b/docs/apisix/plugins/request-id/index.html
index 3dab0ee..c3d3a95 100644
--- a/docs/apisix/plugins/request-id/index.html
+++ b/docs/apisix/plugins/request-id/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/63468b30.3ef9d276.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/63468b30.3ef9d276.js"></script>
 </body>
diff --git a/docs/apisix/plugins/request-validation/index.html b/docs/apisix/plugins/request-validation/index.html
index 3ada844..b543e20 100644
--- a/docs/apisix/plugins/request-validation/index.html
+++ b/docs/apisix/plugins/request-validation/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/645be848.092af5be.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/645be848.092af5be.js"></script>
 </body>
diff --git a/docs/apisix/plugins/response-rewrite/index.html b/docs/apisix/plugins/response-rewrite/index.html
index 3744135..5d25590 100644
--- a/docs/apisix/plugins/response-rewrite/index.html
+++ b/docs/apisix/plugins/response-rewrite/index.html
@@ -16,29 +16,29 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/0484cea7.568579fc.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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 </ [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/0484cea7.568579fc.js"></script>
 </body>
diff --git a/docs/apisix/plugins/server-info/index.html b/docs/apisix/plugins/server-info/index.html
index 5639fe7..7f85d9e 100644
--- a/docs/apisix/plugins/server-info/index.html
+++ b/docs/apisix/plugins/server-info/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/ad461966.4267cf56.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/ad461966.4267cf56.js"></script>
 </body>
diff --git a/docs/apisix/plugins/serverless/index.html b/docs/apisix/plugins/serverless/index.html
index 5256ff5..d19c218 100644
--- a/docs/apisix/plugins/serverless/index.html
+++ b/docs/apisix/plugins/serverless/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/1741c35c.e447e333.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/1741c35c.e447e333.js"></script>
 </body>
diff --git a/docs/apisix/plugins/skywalking/index.html b/docs/apisix/plugins/skywalking/index.html
index 8906fdf..a9cd8ac 100644
--- a/docs/apisix/plugins/skywalking/index.html
+++ b/docs/apisix/plugins/skywalking/index.html
@@ -16,22 +16,22 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/b5a39df0.e06e1d51.js" as="script">
+<link rel="preload" href="/assets/js/b5a39df0.87f08745.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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 [...]
+<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=" ">\
@@ -44,13 +44,13 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="mdxCodeB
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"></span><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic">/**</span></div><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"> * @author cyxinda</span></div><div class="token-line" style="color:#bfc7d5"><span class="token comment" style="color:rgb(105, 112, 152);font-style:italic"> * @create 2020-05-29 14 [...]
 update the file of agent/config/agent.config</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token plain">agent.service_name</span><span class="token operator" style="color:rgb(137, 221, 255)">=</span><span class="token plain">yourservername</span></ [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/b5a39df0.e06e1d51.js"></script>
+<script src="/assets/js/b5a39df0.87f08745.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/plugins/sls-logger/index.html b/docs/apisix/plugins/sls-logger/index.html
index cf449b5..8e50977 100644
--- a/docs/apisix/plugins/sls-logger/index.html
+++ b/docs/apisix/plugins/sls-logger/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/0654f374.1bfe693c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/0654f374.1bfe693c.js"></script>
 </body>
diff --git a/docs/apisix/plugins/syslog/index.html b/docs/apisix/plugins/syslog/index.html
index ff70685..217dc31 100644
--- a/docs/apisix/plugins/syslog/index.html
+++ b/docs/apisix/plugins/syslog/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/e7ebab94.ecae67f7.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/e7ebab94.ecae67f7.js"></script>
 </body>
diff --git a/docs/apisix/plugins/tcp-logger/index.html b/docs/apisix/plugins/tcp-logger/index.html
index 3c48a5a..eb917ab 100644
--- a/docs/apisix/plugins/tcp-logger/index.html
+++ b/docs/apisix/plugins/tcp-logger/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/b436937a.95a41d13.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/b436937a.95a41d13.js"></script>
 </body>
diff --git a/docs/apisix/plugins/traffic-split/index.html b/docs/apisix/plugins/traffic-split/index.html
index bf7323a..f2bc6c8 100644
--- a/docs/apisix/plugins/traffic-split/index.html
+++ b/docs/apisix/plugins/traffic-split/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/4842b438.e2c730d5.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
@@ -43,12 +43,12 @@ service_name, discovery_type, checks, retries, desc, scheme, labels, create_time
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello </span><span class="token number" style="color:rgb(247, 140, 108)">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification of [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">hello </span><span class="token number" style="color:rgb(247, 140, 108)">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="matching-rules-correspond-to-upstream"></a>Matching rules correspond to upstream<a class="hash-link" href="#matching-rules-correspond-to-up [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/4842b438.e2c730d5.js"></script>
 </body>
diff --git a/docs/apisix/plugins/udp-logger/index.html b/docs/apisix/plugins/udp-logger/index.html
index 76e8e3d..05fc9b1 100644
--- a/docs/apisix/plugins/udp-logger/index.html
+++ b/docs/apisix/plugins/udp-logger/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/84ebf226.98b23c2d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/84ebf226.98b23c2d.js"></script>
 </body>
diff --git a/docs/apisix/plugins/uri-blocker/index.html b/docs/apisix/plugins/uri-blocker/index.html
index cb99b9d..93ce4bd 100644
--- a/docs/apisix/plugins/uri-blocker/index.html
+++ b/docs/apisix/plugins/uri-blocker/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/17d3fec9.ec0ba0c8.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/17d3fec9.ec0ba0c8.js"></script>
 </body>
diff --git a/docs/apisix/plugins/wolf-rbac/index.html b/docs/apisix/plugins/wolf-rbac/index.html
index 5699581..72d2823 100644
--- a/docs/apisix/plugins/wolf-rbac/index.html
+++ b/docs/apisix/plugins/wolf-rbac/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/6e5db0c1.967ba44a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
@@ -51,12 +51,12 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#bfc7d5;background-color:#292d3e"><div class="token-line" style="color:#bfc7d5"><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </ [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/6e5db0c1.967ba44a.js"></script>
 </body>
diff --git a/docs/apisix/plugins/zipkin/index.html b/docs/apisix/plugins/zipkin/index.html
index 819b500..5727b38 100644
--- a/docs/apisix/plugins/zipkin/index.html
+++ b/docs/apisix/plugins/zipkin/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/ab6cb272.040e9836.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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. [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    thisip, _ := GetLocalIP()</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
@@ -37,12 +37,12 @@ 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/ab6cb272.040e9836.js"></script>
 </body>
diff --git a/docs/apisix/profile/index.html b/docs/apisix/profile/index.html
index 09be5f5..8140270 100644
--- a/docs/apisix/profile/index.html
+++ b/docs/apisix/profile/index.html
@@ -16,12 +16,12 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/0201ab1c.926d321d.js" as="script">
 </head>
@@ -35,12 +35,12 @@ 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/0201ab1c.926d321d.js"></script>
 </body>
diff --git a/docs/apisix/router-radixtree/index.html b/docs/apisix/router-radixtree/index.html
index beb6a10..298ebe1 100644
--- a/docs/apisix/router-radixtree/index.html
+++ b/docs/apisix/router-radixtree/index.html
@@ -16,29 +16,29 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/2f1ee7b9.906a56f1.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/2f1ee7b9.906a56f1.js"></script>
 </body>
diff --git a/docs/apisix/stand-alone/index.html b/docs/apisix/stand-alone/index.html
index 143ffd2..e279d1e 100644
--- a/docs/apisix/stand-alone/index.html
+++ b/docs/apisix/stand-alone/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/13dafbb5.8f2278ce.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/13dafbb5.8f2278ce.js"></script>
 </body>
diff --git a/docs/apisix/stream-proxy/index.html b/docs/apisix/stream-proxy/index.html
index e4b9f3e..c973ddd 100644
--- a/docs/apisix/stream-proxy/index.html
+++ b/docs/apisix/stream-proxy/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/d73fca9b.937b5f53.js" as="script">
+<link rel="preload" href="/assets/js/d73fca9b.6c49c622.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/65962b6f.aee00c50.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/d73fca9b.937b5f53.js"></script>
+<script src="/assets/js/d73fca9b.6c49c622.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/65962b6f.aee00c50.js"></script>
 </body>
diff --git a/docs/dashboard/FAQ/index.html b/docs/dashboard/FAQ/index.html
index ba62375..c6a6ff3 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -31,8 +31,8 @@
 Refer to the beginning in:
 <a href="https://apisix.apache.org/docs/apisix/control-api" target="_blank" rel="noopener noreferrer">https://apisix.apache.org/docs/apisix/control-api</a></p></li><li><p>Execute the following commands to export jsonchema on your APISIX server (if it is configured for non-local access, it does not need to be executed on your APISIX server, and the access IP and port should be modified accordingly)</p></li></ol><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div tabinde [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/I18N_USER_GUIDE/index.html b/docs/dashboard/I18N_USER_GUIDE/index.html
index 268bf46..f6d3fd0 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/IGNORE_DOC/index.html b/docs/dashboard/IGNORE_DOC/index.html
index 7088c53..9f43a16 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html b/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html
index a2b0e96..bf03111 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -30,8 +30,8 @@
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/USER_GUIDE/index.html b/docs/dashboard/USER_GUIDE/index.html
index 8945fcd..e56649b 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/api/api/index.html b/docs/dashboard/api/api/index.html
index 723ab64..8763059 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/back-end-tests/index.html b/docs/dashboard/back-end-tests/index.html
index 5020589..c8dd8e6 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -36,8 +36,8 @@ high expressiveness which makes reading and writing tests a pleasure.</p><ul><li
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">         table</span><span class="token punctuation" style="color:rgb(199, 146, 234)">.</span><span class="token function" style="color:rgb(130, 170, 255)">DescribeTable</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token string" style="color:rgb(195, 232, 141)">&quot;&lt;logical group 2&gt;&quot;</span><span class="token punctuation" style="color:rgb(199, 14 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">      </span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></li><li><p>FYI, internally ginkgo reduces each table entries to <code>It</code> block and run all the <code>It</code> bloc [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/deploy-with-docker/index.html b/docs/dashboard/deploy-with-docker/index.html
index 91075f6..74e5073 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -31,8 +31,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># For users in mainland China, the `ENABLE_PROXY` parameter can be provided to speed up module downloads.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ docker build -t apisix-dashboard:$tag . --build-arg ENABLE_PROXY=true</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># If you want to use the latest codes to build, you can specify the `APISIX_DASHBOARD_VERSION` parameter to `master`.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain"># This parameter can also be specified as branch name of a specific version, such as `v2.1.1`.</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ docker build -t apisix-d [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/deploy-with-rpm/index.html b/docs/dashboard/deploy-with-rpm/index.html
index d824aa9..2a69d08 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/deploy/index.html b/docs/dashboard/deploy/index.html
index c7d65a8..7e7749c 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -34,8 +34,8 @@ run:</p><div class="mdxCodeBlock_3lFL"><div class="codeBlockContent_hGly"><div t
 </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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/develop/index.html b/docs/dashboard/develop/index.html
index 10c371b..cb8ca3a 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -30,8 +30,8 @@
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/dashboard/front-end-e2e/index.html b/docs/dashboard/front-end-e2e/index.html
index 1b77837..fafafbd 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/docker/IGNORE_DOC/index.html b/docs/docker/IGNORE_DOC/index.html
index 80735d3..27ab468 100644
--- a/docs/docker/IGNORE_DOC/index.html
+++ b/docs/docker/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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/docker/build/index.html b/docs/docker/build/index.html
index b0827b7..2584e53 100644
--- a/docs/docker/build/index.html
+++ b/docs/docker/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">Build an image from the 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:docusaur [...]
 <link rel="preload" href="/assets/js/styles.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -30,8 +30,8 @@
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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">APISIX_VERSION=2.2</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">docker build -t apisix:${APISIX_VERSION}-alpine --build-arg APISIX_VERSION=${APISIX_VERSION} -f alpine/Dockerfile alpine</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>install master branch version, whi [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/docker/example/index.html b/docs/docker/example/index.html
index 057553f..4656199 100644
--- a/docs/docker/example/index.html
+++ b/docs/docker/example/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Example | 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -38,8 +38,8 @@ free service to resolve itself along with all subdomains to localhost.</p><div c
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">$ sudo rm -rf etcd_data/member</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">$ rm -rf apisix_log/*.log</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-docker/edit/master/docs/en/latest/example.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" w [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/docker/manual/index.html b/docs/docker/manual/index.html
index 48f8d3a..65804e6 100644
--- a/docs/docker/manual/index.html
+++ b/docs/docker/manual/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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 Apache APISIX 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_t [...]
 <link rel="preload" href="/assets/js/styles.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/general/2fa/index.html b/docs/general/2fa/index.html
index 38c2d6b..9a07a2f 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.d717f45f.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/3dc9f306.46d5e378.js" as="script">
+<link rel="preload" href="/assets/js/3dc9f306.c58ac029.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
 <script src="/assets/js/935f2afb.d717f45f.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/3dc9f306.46d5e378.js"></script>
+<script src="/assets/js/3dc9f306.c58ac029.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 8a74531..94dbb35 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.d717f45f.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/8e784bf3.9736bf2e.js" as="script">
+<link rel="preload" href="/assets/js/8e784bf3.e790b9c9.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
 <script src="/assets/js/935f2afb.d717f45f.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/8e784bf3.9736bf2e.js"></script>
+<script src="/assets/js/8e784bf3.e790b9c9.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 54900d7..2615edd 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.d717f45f.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/adbb350b.7c1e8c9a.js" as="script">
+<link rel="preload" href="/assets/js/adbb350b.c9f6bbf4.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
 <script src="/assets/js/935f2afb.d717f45f.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/adbb350b.7c1e8c9a.js"></script>
+<script src="/assets/js/adbb350b.c9f6bbf4.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 9b73125..ec13b48 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.d717f45f.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/19945770.76c6fa97.js" as="script">
+<link rel="preload" href="/assets/js/19945770.6fc6ce2a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
 <script src="/assets/js/935f2afb.d717f45f.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/19945770.76c6fa97.js"></script>
+<script src="/assets/js/19945770.6fc6ce2a.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 d0a1723..a6e944d 100644
--- a/docs/general/release-guide/index.html
+++ b/docs/general/release-guide/index.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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.d717f45f.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/7af3052c.7a8684c1.js" as="script">
+<link rel="preload" href="/assets/js/7af3052c.94d7f357.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -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" 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 [...]
+</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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
 <script src="/assets/js/935f2afb.d717f45f.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/7af3052c.7a8684c1.js"></script>
+<script src="/assets/js/7af3052c.94d7f357.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 40a46cf..7ff5bbf 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.d717f45f.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/66fbb9c2.451a20f7.js" as="script">
+<link rel="preload" href="/assets/js/66fbb9c2.23246ff9.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
 <script src="/assets/js/935f2afb.d717f45f.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/66fbb9c2.451a20f7.js"></script>
+<script src="/assets/js/66fbb9c2.23246ff9.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 ac647bd..3afc540 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
 <link rel="preload" href="/assets/js/935f2afb.d717f45f.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/50facf8e.9bfcfd0e.js" as="script">
+<link rel="preload" href="/assets/js/50facf8e.bec7a0b7.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
 <script src="/assets/js/935f2afb.d717f45f.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/50facf8e.9bfcfd0e.js"></script>
+<script src="/assets/js/50facf8e.bec7a0b7.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/helm-chart/IGNORE_DOC/index.html b/docs/helm-chart/IGNORE_DOC/index.html
index 99d67d4..3f06138 100644
--- a/docs/helm-chart/IGNORE_DOC/index.html
+++ b/docs/helm-chart/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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/helm-chart/apisix-dashboard/index.html b/docs/helm-chart/apisix-dashboard/index.html
index ef0495d..60b8f48 100644
--- a/docs/helm-chart/apisix-dashboard/index.html
+++ b/docs/helm-chart/apisix-dashboard/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Dashboard Helm Chart | 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/helm-chart/apisix-ingress-controller/index.html b/docs/helm-chart/apisix-ingress-controller/index.html
index 2328007..1c00524 100644
--- a/docs/helm-chart/apisix-ingress-controller/index.html
+++ b/docs/helm-chart/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">Apache APISIX Ingress Controller Helm Chart | 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:d [...]
 <link rel="preload" href="/assets/js/styles.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/helm-chart/apisix/index.html b/docs/helm-chart/apisix/index.html
index e7f1308..3281911 100644
--- a/docs/helm-chart/apisix/index.html
+++ b/docs/helm-chart/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">Apache APISIX Helm Chart | 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
diff --git a/docs/index.html b/docs/index.html
index e3b401a..b2f5d93 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/3.0e53f923.js" as="script">
@@ -27,8 +27,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/3.0e53f923.js"></script>
diff --git a/docs/ingress-controller/FAQ/index.html b/docs/ingress-controller/FAQ/index.html
index 91a8ee0..457a5e9 100644
--- a/docs/ingress-controller/FAQ/index.html
+++ b/docs/ingress-controller/FAQ/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/9dc47d34.1b76f60c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/9dc47d34.1b76f60c.js"></script>
 </body>
diff --git a/docs/ingress-controller/IGNORE_DOC/index.html b/docs/ingress-controller/IGNORE_DOC/index.html
index c48b57c..2399581 100644
--- a/docs/ingress-controller/IGNORE_DOC/index.html
+++ b/docs/ingress-controller/IGNORE_DOC/index.html
@@ -16,12 +16,12 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/d18db9b0.57c3dc75.js" as="script">
 </head>
@@ -29,12 +29,12 @@
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/d18db9b0.57c3dc75.js"></script>
 </body>
diff --git a/docs/ingress-controller/concepts/apisix_route/index.html b/docs/ingress-controller/concepts/apisix_route/index.html
index f62a816..81fd34f 100644
--- a/docs/ingress-controller/concepts/apisix_route/index.html
+++ b/docs/ingress-controller/concepts/apisix_route/index.html
@@ -16,24 +16,24 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/9da58367.5abadd63.js" as="script">
+<link rel="preload" href="/assets/js/9da58367.238ab2d3.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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- [...]
+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" 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
@@ -53,13 +53,13 @@ in <code>ApisixRoute</code>. All configuration items are named same to the one i
 which host is <code>local.httpbin.org</code>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="websocket-proxy"></a>Websocket Proxy<a class="hash-link" href="#websocket-proxy" title="Direct link to heading">#</a></h2><p><a href="https://en.wikipedia.org/wiki/WebSocket#:~:text=WebSocket%20is%20a%20computer%20communications,WebSocket%20is%20distinct%20from%20HTTP." target="_blank" rel="noopener noreferrer">Websocket</a> service can be proxied
 by creating a route with specifying the <code>websocket</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" [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/9da58367.5abadd63.js"></script>
+<script src="/assets/js/9da58367.238ab2d3.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/concepts/apisix_tls/index.html b/docs/ingress-controller/concepts/apisix_tls/index.html
index 57c59aa..0659b47 100644
--- a/docs/ingress-controller/concepts/apisix_tls/index.html
+++ b/docs/ingress-controller/concepts/apisix_tls/index.html
@@ -16,12 +16,12 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/f4620fb6.dae92d21.js" as="script">
 </head>
@@ -35,12 +35,12 @@ 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/f4620fb6.dae92d21.js"></script>
 </body>
diff --git a/docs/ingress-controller/concepts/apisix_upstream/index.html b/docs/ingress-controller/concepts/apisix_upstream/index.html
index cf1fdb5..506693a 100644
--- a/docs/ingress-controller/concepts/apisix_upstream/index.html
+++ b/docs/ingress-controller/concepts/apisix_upstream/index.html
@@ -16,20 +16,20 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/b0e5e822.73046474.js" as="script">
+<link rel="preload" href="/assets/js/b0e5e822.4c4d9727.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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  [...]
+To learn more, please check the <a href="https://github.com/apache/apisix/blob/master/docs/en/latest/architecture-design/upstream.md" 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 scatte [...]
 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
@@ -42,15 +42,15 @@ of the transferring of a response, fixing this is impossible.</p><div class="mdx
 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" [...]
+(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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/b0e5e822.73046474.js"></script>
+<script src="/assets/js/b0e5e822.4c4d9727.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/contribute/index.html b/docs/ingress-controller/contribute/index.html
index 3a85a78..eb2bb7d 100644
--- a/docs/ingress-controller/contribute/index.html
+++ b/docs/ingress-controller/contribute/index.html
@@ -16,29 +16,29 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/9c26c05d.53871cab.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" id="how-to-contribute"></a>How to contribute<a class="hash-link" href="#how-to-contribute" title="Direct link to heading">#</a></h2><p>Most of the contributions that we receive are code contributions, but you can
 also contribute to the documentation or simply report solid bugs
 for us to fix.</p><p> For new contributors, please take a look at issues with a tag called <a href="https://github.com/apache/apisix-ingress-controller/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22" target="_blank" rel="noopener noreferrer">Good first issue</a> or <a href="https://github.com/apache/apisix-ingress-controller/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22" target="_blank" rel="noopener noreferrer">Help wanted</a>.</p><h2><a aria-hidden="true" tabind [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/9c26c05d.53871cab.js"></script>
 </body>
diff --git a/docs/ingress-controller/deployments/ack/index.html b/docs/ingress-controller/deployments/ack/index.html
index 55579ac..ccb4616 100644
--- a/docs/ingress-controller/deployments/ack/index.html
+++ b/docs/ingress-controller/deployments/ack/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/6967878f.135f14d5.js" as="script">
+<link rel="preload" href="/assets/js/6967878f.18368567.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/6967878f.135f14d5.js"></script>
+<script src="/assets/js/6967878f.18368567.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/aws/index.html b/docs/ingress-controller/deployments/aws/index.html
index 7e27ccc..fdb628d 100644
--- a/docs/ingress-controller/deployments/aws/index.html
+++ b/docs/ingress-controller/deployments/aws/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/4e55a385.52030767.js" as="script">
+<link rel="preload" href="/assets/js/4e55a385.908faebb.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/4e55a385.52030767.js"></script>
+<script src="/assets/js/4e55a385.908faebb.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/azure/index.html b/docs/ingress-controller/deployments/azure/index.html
index b2a6780..e337bde 100644
--- a/docs/ingress-controller/deployments/azure/index.html
+++ b/docs/ingress-controller/deployments/azure/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/f6cd6006.db4a4623.js" as="script">
+<link rel="preload" href="/assets/js/f6cd6006.df19eafd.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/f6cd6006.db4a4623.js"></script>
+<script src="/assets/js/f6cd6006.df19eafd.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/gke/index.html b/docs/ingress-controller/deployments/gke/index.html
index 5304552..bd83d14 100644
--- a/docs/ingress-controller/deployments/gke/index.html
+++ b/docs/ingress-controller/deployments/gke/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/43aea6af.a2d0f482.js" as="script">
+<link rel="preload" href="/assets/js/43aea6af.6506be0d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/43aea6af.a2d0f482.js"></script>
+<script src="/assets/js/43aea6af.6506be0d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/k3s-rke/index.html b/docs/ingress-controller/deployments/k3s-rke/index.html
index 64a47d1..d8161f1 100644
--- a/docs/ingress-controller/deployments/k3s-rke/index.html
+++ b/docs/ingress-controller/deployments/k3s-rke/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/6f365930.34d0a383.js" as="script">
+<link rel="preload" href="/assets/js/6f365930.504ff274.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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  [...]
+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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/6f365930.34d0a383.js"></script>
+<script src="/assets/js/6f365930.504ff274.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/kubesphere/index.html b/docs/ingress-controller/deployments/kubesphere/index.html
index b0d91aa..b9c69d4 100644
--- a/docs/ingress-controller/deployments/kubesphere/index.html
+++ b/docs/ingress-controller/deployments/kubesphere/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/b58143c5.2df7d07b.js" as="script">
+<link rel="preload" href="/assets/js/b58143c5.f6196ae1.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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- [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/b58143c5.2df7d07b.js"></script>
+<script src="/assets/js/b58143c5.f6196ae1.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/minikube/index.html b/docs/ingress-controller/deployments/minikube/index.html
index 7d292c7..9b4ccc7 100644
--- a/docs/ingress-controller/deployments/minikube/index.html
+++ b/docs/ingress-controller/deployments/minikube/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/93013804.1a261a53.js" as="script">
+<link rel="preload" href="/assets/js/93013804.0d34b6e4.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/93013804.1a261a53.js"></script>
+<script src="/assets/js/93013804.0d34b6e4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/deployments/tke/index.html b/docs/ingress-controller/deployments/tke/index.html
index a2aee58..cfc4878 100644
--- a/docs/ingress-controller/deployments/tke/index.html
+++ b/docs/ingress-controller/deployments/tke/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/64288df6.40ceb1d2.js" as="script">
+<link rel="preload" href="/assets/js/64288df6.5bf4808c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/64288df6.40ceb1d2.js"></script>
+<script src="/assets/js/64288df6.5bf4808c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/design/index.html b/docs/ingress-controller/design/index.html
index 98fd7e4..43aeeb9 100644
--- a/docs/ingress-controller/design/index.html
+++ b/docs/ingress-controller/design/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/e60dd3b0.49b5ffe8.js" as="script">
+<link rel="preload" href="/assets/js/e60dd3b0.7e55d226.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/e60dd3b0.49b5ffe8.js"></script>
+<script src="/assets/js/e60dd3b0.7e55d226.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/development/index.html b/docs/ingress-controller/development/index.html
index 78710df..1df32b0 100644
--- a/docs/ingress-controller/development/index.html
+++ b/docs/ingress-controller/development/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/8e27d69a.ecee9c9b.js" as="script">
+<link rel="preload" href="/assets/js/8e27d69a.a0aa0d18.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/8e27d69a.ecee9c9b.js"></script>
+<script src="/assets/js/8e27d69a.a0aa0d18.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/getting-started/index.html b/docs/ingress-controller/getting-started/index.html
index d5e6dd6..5f937d6 100644
--- a/docs/ingress-controller/getting-started/index.html
+++ b/docs/ingress-controller/getting-started/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/f45d06d8.360e7c82.js" as="script">
+<link rel="preload" href="/assets/js/f45d06d8.392b8c69.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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 [...]
+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><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="compatibility-with-apache-apisix"></a>Compatibility with Apache APISIX<a class="hash-link" href="#compatibility-with-apache-apisix" title="Direct link to heading">#</a></h2><p>The following table describes the compatibility between apisix-ingress-controller and
 <a href="https://apisix.apache.org" target="_blank" rel="noopener noreferrer">Apache APISIX</a>.</p><table><thead><tr><th align="right">apisix-ingress-controller</th><th align="right">Apache APISIX</th></tr></thead><tbody><tr><td align="right"><code>master</code></td><td align="right"><code>&gt;= 2.4</code>, <code>2.5</code> is recommended.</td></tr><tr><td align="right"><code>0.5</code></td><td align="right"><code>&gt;= 2.4</code>, <code>2.5</code> is recommended.</td></tr><tr><td align [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/f45d06d8.360e7c82.js"></script>
+<script src="/assets/js/f45d06d8.392b8c69.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/practices/index/index.html b/docs/ingress-controller/practices/index/index.html
index ae04cda..969653a 100644
--- a/docs/ingress-controller/practices/index/index.html
+++ b/docs/ingress-controller/practices/index/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/fd72aa65.3d67f7e3.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/fd72aa65.3d67f7e3.js"></script>
 </body>
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 41efa06..713ddae 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,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/ca5ff64e.b0ddf83a.js" as="script">
+<link rel="preload" href="/assets/js/ca5ff64e.f2cf6e8a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/ca5ff64e.b0ddf83a.js"></script>
+<script src="/assets/js/ca5ff64e.f2cf6e8a.js"></script>
 </body>
 </html>
\ No newline at end of file
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 de72579..3185279 100644
--- a/docs/ingress-controller/practices/proxy-the-httpbin-service/index.html
+++ b/docs/ingress-controller/practices/proxy-the-httpbin-service/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/9969a994.45a1a842.js" as="script">
+<link rel="preload" href="/assets/js/9969a994.1758f44c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/9969a994.45a1a842.js"></script>
+<script src="/assets/js/9969a994.1758f44c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/ingress-controller/references/apisix_route_v1/index.html b/docs/ingress-controller/references/apisix_route_v1/index.html
index c7d3583..844ab3a 100644
--- a/docs/ingress-controller/references/apisix_route_v1/index.html
+++ b/docs/ingress-controller/references/apisix_route_v1/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/c9f6a9fb.eb77776d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/c9f6a9fb.eb77776d.js"></script>
 </body>
diff --git a/docs/ingress-controller/references/apisix_route_v2alpha1/index.html b/docs/ingress-controller/references/apisix_route_v2alpha1/index.html
index 5144009..6759fd5 100644
--- a/docs/ingress-controller/references/apisix_route_v2alpha1/index.html
+++ b/docs/ingress-controller/references/apisix_route_v2alpha1/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/d2247e49.b0d604a6.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/d2247e49.b0d604a6.js"></script>
 </body>
diff --git a/docs/ingress-controller/references/apisix_tls/index.html b/docs/ingress-controller/references/apisix_tls/index.html
index bfe40f5..ed7100f 100644
--- a/docs/ingress-controller/references/apisix_tls/index.html
+++ b/docs/ingress-controller/references/apisix_tls/index.html
@@ -16,25 +16,25 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
 <link rel="preload" href="/assets/js/e75fbec5.fdcbfe13.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
 <script src="/assets/js/e75fbec5.fdcbfe13.js"></script>
 </body>
diff --git a/docs/ingress-controller/references/apisix_upstream/index.html b/docs/ingress-controller/references/apisix_upstream/index.html
index 9989b60..df3d557 100644
--- a/docs/ingress-controller/references/apisix_upstream/index.html
+++ b/docs/ingress-controller/references/apisix_upstream/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">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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/1be78505.29634db6.js" as="script">
-<link rel="preload" href="/assets/js/b4a67526.37492bb7.js" as="script">
+<link rel="preload" href="/assets/js/b4a67526.cbe07c3d.js" as="script">
 <link rel="preload" href="/assets/js/17896441.00051d18.js" as="script">
-<link rel="preload" href="/assets/js/f8217c69.986e0861.js" as="script">
+<link rel="preload" href="/assets/js/f8217c69.ff154d03.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/1be78505.29634db6.js"></script>
-<script src="/assets/js/b4a67526.37492bb7.js"></script>
+<script src="/assets/js/b4a67526.cbe07c3d.js"></script>
 <script src="/assets/js/17896441.00051d18.js"></script>
-<script src="/assets/js/f8217c69.986e0861.js"></script>
+<script src="/assets/js/f8217c69.ff154d03.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/downloads/ProjectCard/index.html b/downloads/ProjectCard/index.html
index 8998439..4b4ce03 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.8cebb52d.css">
 <link rel="preload" href="/assets/js/styles.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/3.0e53f923.js" as="script">
 <link rel="preload" href="/assets/js/98c69322.c1668b1b.js" as="script">
 <link rel="preload" href="/assets/js/47f8a22a.583c2a1c.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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/3.0e53f923.js"></script>
 <script src="/assets/js/98c69322.c1668b1b.js"></script>
 <script src="/assets/js/47f8a22a.583c2a1c.js"></script>
diff --git a/downloads/index.html b/downloads/index.html
index c3559b7..8103f04 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/3.0e53f923.js" as="script">
@@ -32,8 +32,8 @@
 </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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/3.0e53f923.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 7ce5bf2..0da48b6 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 bda4325..4556f96 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 263ceec..4c3f6db 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 753f592..c921ddc 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 63546ea..356de66 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 3e8b2b7..16f9879 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 91f60e4..d883e9e 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.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 1439789..2baf252 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.js"></script>
diff --git a/events/2021/04/13/release-apisix-ingress-controller-0.5/index.html b/events/2021/04/13/release-apisix-ingress-controller-0.5/index.html
index 966bafb..45b26e4 100644
--- a/events/2021/04/13/release-apisix-ingress-controller-0.5/index.html
+++ b/events/2021/04/13/release-apisix-ingress-controller-0.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 Ingress Controller 0.5 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Ingress Controller 0.5 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="A lot of important features are supported in this release, it makes apisix-ingress- [...]
 <link rel="preload" href="/assets/js/styles.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -31,8 +31,8 @@
 Also, several bugs are fixed so the robustness is also enhanced.</p><p>We recommend you to use <a href="https://github.com/apache/apisix/releases/tag/2.5" target="_blank" rel="noopener noreferrer">Apache APISIX 2.5</a> with this release. Note since CRDs are updated, when
 you upgrade your old release, <strong>manual steps are required to apply the new ApisixRoute</strong>. Please see the instruction <code>7</code> in <a href="https://github.com/apache/apisix-ingress-controller/blob/master/docs/en/latest/FAQ.md" target="_blank" rel="noopener noreferrer">FAQ</a> for more details.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="core"></a>Core<a class="hash-link" href="#core" title="Direct link to heading">#</a></h2><ul><li>Support traffic split [...]
 <script src="/assets/js/styles.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.js"></script>
diff --git a/events/2021/04/22/release-apache-apisix-dashboard-2.6/index.html b/events/2021/04/22/release-apache-apisix-dashboard-2.6/index.html
index fa4ba9a..16503b7 100644
--- a/events/2021/04/22/release-apache-apisix-dashboard-2.6/index.html
+++ b/events/2021/04/22/release-apache-apisix-dashboard-2.6/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.6 | Apache APISIX™</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX Dashboard 2.6 | Apache APISIX™"><meta data-react-helmet="true" property="og:description" content="This release mainly improves UI and UE, bugfix and adds test cases."><meta data-react-helmet="true" n [...]
 <link rel="preload" href="/assets/js/styles.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.js"></script>
diff --git a/events/index.html b/events/index.html
index 3781b5b..6139291 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/4.bde55da2.js" as="script">
@@ -39,8 +39,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/4.bde55da2.js"></script>
diff --git a/help/index.html b/help/index.html
index 867a43b..797e593 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/3.0e53f923.js" as="script">
@@ -27,8 +27,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/3.0e53f923.js"></script>
diff --git a/index.html b/index.html
index 704861c..8cc2cd6 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/203.cc7dd385.js" as="script">
@@ -27,8 +27,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 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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/203.cc7dd385.js"></script>
diff --git a/search/index.html b/search/index.html
index 1cfe87d..0175264 100644
--- a/search/index.html
+++ b/search/index.html
@@ -16,8 +16,8 @@
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/198.2d894345.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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/198.2d894345.js"></script>
diff --git a/team/index.html b/team/index.html
index 14f61b5..6b9fab7 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.915eeed2.js" as="script">
-<link rel="preload" href="/assets/js/runtime~main.a25f06dd.js" as="script">
-<link rel="preload" href="/assets/js/main.e9e5b420.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0371017.js" as="script">
+<link rel="preload" href="/assets/js/main.690fe4bb.js" as="script">
 <link rel="preload" href="/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/assets/js/3.0e53f923.js" as="script">
@@ -27,8 +27,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.915eeed2.js"></script>
-<script src="/assets/js/runtime~main.a25f06dd.js"></script>
-<script src="/assets/js/main.e9e5b420.js"></script>
+<script src="/assets/js/runtime~main.c0371017.js"></script>
+<script src="/assets/js/main.690fe4bb.js"></script>
 <script src="/assets/js/1.8ab37bf2.js"></script>
 <script src="/assets/js/2.f6d304f2.js"></script>
 <script src="/assets/js/3.0e53f923.js"></script>
diff --git a/zh/404.html b/zh/404.html
index 65cd9ac..1450570 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/assets/js/0e9e839b.4dc4fc41.js b/zh/assets/js/0e9e839b.4a5ba5f3.js
similarity index 51%
rename from zh/assets/js/0e9e839b.4dc4fc41.js
rename to zh/assets/js/0e9e839b.4a5ba5f3.js
index 23cb630..1402030 100644
--- a/zh/assets/js/0e9e839b.4dc4fc41.js
+++ b/zh/assets/js/0e9e839b.4a5ba5f3.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var r=n(0),i=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 c(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([[12],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return d}));var r=n(0),i=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 c(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/163910ed.05c8e71d.js b/zh/assets/js/163910ed.05c8e71d.js
deleted file mode 100644
index 97a55cf..0000000
--- a/zh/assets/js/163910ed.05c8e71d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return d}));var r=n(0),i=n.n(r);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/163910ed.9871618d.js b/zh/assets/js/163910ed.9871618d.js
new file mode 100644
index 0000000..77f9a27
--- /dev/null
+++ b/zh/assets/js/163910ed.9871618d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return d}));var r=n(0),i=n.n(r);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/19945770.adaa9a67.js b/zh/assets/js/19945770.3b01635e.js
similarity index 54%
rename from zh/assets/js/19945770.adaa9a67.js
rename to zh/assets/js/19945770.3b01635e.js
index 3a3d005..f56f24d 100644
--- a/zh/assets/js/19945770.adaa9a67.js
+++ b/zh/assets/js/19945770.3b01635e.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return m}));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],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return f}));var r=n(0),o=n.n(r);function a(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/1fb167aa.85cf6e91.js b/zh/assets/js/1fb167aa.85cf6e91.js
new file mode 100644
index 0000000..e2da19d
--- /dev/null
+++ b/zh/assets/js/1fb167aa.85cf6e91.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/1fb167aa.b09e6941.js b/zh/assets/js/1fb167aa.b09e6941.js
deleted file mode 100644
index faaf9ec..0000000
--- a/zh/assets/js/1fb167aa.b09e6941.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})) [...]
\ No newline at end of file
diff --git a/zh/assets/js/2503b74e.78b3f5dd.js b/zh/assets/js/2503b74e.78b3f5dd.js
new file mode 100644
index 0000000..c1556d0
--- /dev/null
+++ b/zh/assets/js/2503b74e.78b3f5dd.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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/2503b74e.d34b4cfc.js b/zh/assets/js/2503b74e.d34b4cfc.js
deleted file mode 100644
index e2d58fb..0000000
--- a/zh/assets/js/2503b74e.d34b4cfc.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{270:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var r=n(0),a=n.n(r);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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/320d67fa.8cdb915b.js b/zh/assets/js/320d67fa.8cdb915b.js
new file mode 100644
index 0000000..312ab21
--- /dev/null
+++ b/zh/assets/js/320d67fa.8cdb915b.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{105:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return l})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return p})),t.d(n,"default",(function(){return b}));var a=t(3),i=t(8),r=(t(0),t(270)),l={title:"\u5982\u4f55\u6784\u5efa Apache APISIX"},c={unversionedId:"how-to-build",id:"how-to-build",isDocsHomePage:!1,title:"\u5982\u4f55\u6784\u5efa Apache APISIX",description:"\x3c!--",source:"@si [...]
\ No newline at end of file
diff --git a/zh/assets/js/320d67fa.f5394665.js b/zh/assets/js/320d67fa.f5394665.js
deleted file mode 100644
index f03d263..0000000
--- a/zh/assets/js/320d67fa.f5394665.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{105:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return l})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return p})),t.d(n,"default",(function(){return s}));var a=t(3),i=t(8),r=(t(0),t(270)),l={title:"\u5982\u4f55\u6784\u5efa Apache APISIX"},c={unversionedId:"how-to-build",id:"how-to-build",isDocsHomePage:!1,title:"\u5982\u4f55\u6784\u5efa Apache APISIX",description:"\x3c!--",source:"@si [...]
\ No newline at end of file
diff --git a/zh/assets/js/3a565ccf.704debaf.js b/zh/assets/js/3a565ccf.388fa90c.js
similarity index 82%
rename from zh/assets/js/3a565ccf.704debaf.js
rename to zh/assets/js/3a565ccf.388fa90c.js
index eefa11c..6d380bd 100644
--- a/zh/assets/js/3a565ccf.704debaf.js
+++ b/zh/assets/js/3a565ccf.388fa90c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{114:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return c})),t.d(n,"metadata",(function(){return l})),t.d(n,"toc",(function(){return p})),t.d(n,"default",(function(){return o}));var a=t(3),r=t(8),i=(t(0),t(270)),c={title:"\u96c6\u6210\u670d\u52a1\u53d1\u73b0\u6ce8\u518c\u4e2d\u5fc3"},l={unversionedId:"discovery",id:"discovery",isDocsHomePage:!1,title:"\u96c6\u6210\u670d\u52a1\u53d1\u73b0\u6ce8\u518c\u4e2d\u5 [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{114:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return c})),t.d(n,"metadata",(function(){return l})),t.d(n,"toc",(function(){return p})),t.d(n,"default",(function(){return o}));var a=t(3),r=t(8),i=(t(0),t(270)),c={title:"\u96c6\u6210\u670d\u52a1\u53d1\u73b0\u6ce8\u518c\u4e2d\u5fc3"},l={unversionedId:"discovery",id:"discovery",isDocsHomePage:!1,title:"\u96c6\u6210\u670d\u52a1\u53d1\u73b0\u6ce8\u518c\u4e2d\u5 [...]
\ No newline at end of file
diff --git a/zh/assets/js/3dc9f306.92c845ed.js b/zh/assets/js/3dc9f306.770c41e3.js
similarity index 98%
rename from zh/assets/js/3dc9f306.92c845ed.js
rename to zh/assets/js/3dc9f306.770c41e3.js
index c653f87..e68c956 100644
--- a/zh/assets/js/3dc9f306.92c845ed.js
+++ b/zh/assets/js/3dc9f306.770c41e3.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{116:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(8),a=(n(0),n(270)),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([[48],{116:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return u})),n.d(t,"default",(function(){return l}));var r=n(3),o=n(8),a=(n(0),n(270)),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/43aea6af.3f0c482e.js b/zh/assets/js/43aea6af.e882b487.js
similarity index 57%
rename from zh/assets/js/43aea6af.3f0c482e.js
rename to zh/assets/js/43aea6af.e882b487.js
index 26dc75a..369168f 100644
--- a/zh/assets/js/43aea6af.3f0c482e.js
+++ b/zh/assets/js/43aea6af.e882b487.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{123:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on Google Cloud GKE"},o={unversionedId:"deployments/gke",id:"deployments/gke",isDocsHomePage:!1,title:"Install Ingress APISIX on Google Cloud GKE",description:"\x3c!- [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{123:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),s=(n(0),n(270)),i={title:"Install Ingress APISIX on Google Cloud GKE"},o={unversionedId:"deployments/gke",id:"deployments/gke",isDocsHomePage:!1,title:"Install Ingress APISIX on Google Cloud GKE",description:"\x3c!- [...]
\ No newline at end of file
diff --git a/zh/assets/js/4e55a385.0333fb40.js b/zh/assets/js/4e55a385.b74b361f.js
similarity index 92%
rename from zh/assets/js/4e55a385.0333fb40.js
rename to zh/assets/js/4e55a385.b74b361f.js
index bbe703d..0d7e5c6 100644
--- a/zh/assets/js/4e55a385.0333fb40.js
+++ b/zh/assets/js/4e55a385.b74b361f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{130:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),s=(n(0),n(270)),i={title:"Install Ingress APISIX on Amazon EKS"},o={unversionedId:"deployments/aws",id:"deployments/aws",isDocsHomePage:!1,title:"Install Ingress APISIX on Amazon EKS",description:"\x3c!--",source:"@ [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{130:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),s=(n(0),n(270)),i={title:"Install Ingress APISIX on Amazon EKS"},o={unversionedId:"deployments/aws",id:"deployments/aws",isDocsHomePage:!1,title:"Install Ingress APISIX on Amazon EKS",description:"\x3c!--",source:"@ [...]
\ No newline at end of file
diff --git a/zh/assets/js/50facf8e.f6382808.js b/zh/assets/js/50facf8e.358847e7.js
similarity index 97%
rename from zh/assets/js/50facf8e.f6382808.js
rename to zh/assets/js/50facf8e.358847e7.js
index 6fb29b0..14d734e 100644
--- a/zh/assets/js/50facf8e.f6382808.js
+++ b/zh/assets/js/50facf8e.358847e7.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{133: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(8),a=(r(0),r(270)),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([[65],{133: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(8),a=(r(0),r(270)),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/5880833a.b6443dfc.js b/zh/assets/js/5880833a.b6443dfc.js
new file mode 100644
index 0000000..6fdd67b
--- /dev/null
+++ b/zh/assets/js/5880833a.b6443dfc.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{137:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return l})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return p})),t.d(n,"default",(function(){return o}));var a=t(3),r=t(8),i=(t(0),t(270)),l={title:"\u5e38\u89c1\u95ee\u9898"},c={unversionedId:"FAQ",id:"FAQ",isDocsHomePage:!1,title:"\u5e38\u89c1\u95ee\u9898",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-docs [...]
\ No newline at end of file
diff --git a/zh/assets/js/5880833a.f9ce75b1.js b/zh/assets/js/5880833a.f9ce75b1.js
deleted file mode 100644
index 17728e0..0000000
--- a/zh/assets/js/5880833a.f9ce75b1.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{137: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 p})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),l=(n(0),n(270)),i={title:"\u5e38\u89c1\u95ee\u9898"},c={unversionedId:"FAQ",id:"FAQ",isDocsHomePage:!1,title:"\u5e38\u89c1\u95ee\u9898",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-docs [...]
\ No newline at end of file
diff --git a/zh/assets/js/64288df6.8748b8f7.js b/zh/assets/js/64288df6.dd62e9e0.js
similarity index 97%
rename from zh/assets/js/64288df6.8748b8f7.js
rename to zh/assets/js/64288df6.dd62e9e0.js
index 12a772d..b59c801 100644
--- a/zh/assets/js/64288df6.8748b8f7.js
+++ b/zh/assets/js/64288df6.dd62e9e0.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{145:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on Tencent TKE"},o={unversionedId:"deployments/tke",id:"deployments/tke",isDocsHomePage:!1,title:"Install Ingress APISIX on Tencent TKE",description:"\x3c!--",source: [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{145:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on Tencent TKE"},o={unversionedId:"deployments/tke",id:"deployments/tke",isDocsHomePage:!1,title:"Install Ingress APISIX on Tencent TKE",description:"\x3c!--",source: [...]
\ No newline at end of file
diff --git a/zh/assets/js/66fbb9c2.74b2e881.js b/zh/assets/js/66fbb9c2.1615df78.js
similarity index 97%
rename from zh/assets/js/66fbb9c2.74b2e881.js
rename to zh/assets/js/66fbb9c2.1615df78.js
index 5fe722c..5fdc36c 100644
--- a/zh/assets/js/66fbb9c2.74b2e881.js
+++ b/zh/assets/js/66fbb9c2.1615df78.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{146: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(8),i=(r(0),r(270)),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([[78],{146: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(8),i=(r(0),r(270)),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/6967878f.16d92fdb.js b/zh/assets/js/6967878f.fcba0591.js
similarity index 87%
rename from zh/assets/js/6967878f.16d92fdb.js
rename to zh/assets/js/6967878f.fcba0591.js
index 939bd88..88ac478 100644
--- a/zh/assets/js/6967878f.16d92fdb.js
+++ b/zh/assets/js/6967878f.fcba0591.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[82],{150:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on ACK"},l={unversionedId:"deployments/ack",id:"deployments/ack",isDocsHomePage:!1,title:"Install Ingress APISIX on ACK",description:"\x3c!--",source:"@site/docs/apis [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[82],{150:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var a=n(3),r=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on ACK"},c={unversionedId:"deployments/ack",id:"deployments/ack",isDocsHomePage:!1,title:"Install Ingress APISIX on ACK",description:"\x3c!--",source:"@site/docs/apis [...]
\ No newline at end of file
diff --git a/zh/assets/js/6a0e174f.bc8f855a.js b/zh/assets/js/6a0e174f.73b14d30.js
similarity index 99%
rename from zh/assets/js/6a0e174f.bc8f855a.js
rename to zh/assets/js/6a0e174f.73b14d30.js
index f184430..5951185 100644
--- a/zh/assets/js/6a0e174f.bc8f855a.js
+++ b/zh/assets/js/6a0e174f.73b14d30.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{151:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(8),l=(n(0),n(270)),b={title:"batch-requests"},i={unversionedId:"plugins/batch-requests",id:"plugins/batch-requests",isDocsHomePage:!1,title:"batch-requests",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{151:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return p})),n.d(t,"default",(function(){return u}));var a=n(3),r=n(8),l=(n(0),n(270)),b={title:"batch-requests"},i={unversionedId:"plugins/batch-requests",id:"plugins/batch-requests",isDocsHomePage:!1,title:"batch-requests",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin [...]
\ No newline at end of file
diff --git a/zh/assets/js/6f365930.9901cafa.js b/zh/assets/js/6f365930.9901cafa.js
new file mode 100644
index 0000000..9c8de5d
--- /dev/null
+++ b/zh/assets/js/6f365930.9901cafa.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{152:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),s=(n(0),n(270)),i={title:"Install Ingress APISIX on K3S and Rancher RKE"},o={unversionedId:"deployments/k3s-rke",id:"deployments/k3s-rke",isDocsHomePage:!1,title:"Install Ingress APISIX on K3S and Rancher RKE",descr [...]
\ No newline at end of file
diff --git a/zh/assets/js/6f365930.a1f1f0a2.js b/zh/assets/js/6f365930.a1f1f0a2.js
deleted file mode 100644
index 895b536..0000000
--- a/zh/assets/js/6f365930.a1f1f0a2.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{152:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on K3S and Rancher RKE"},o={unversionedId:"deployments/k3s-rke",id:"deployments/k3s-rke",isDocsHomePage:!1,title:"Install Ingress APISIX on K3S and Rancher RKE",descr [...]
\ No newline at end of file
diff --git a/zh/assets/js/72aa3c55.a260bea0.js b/zh/assets/js/72aa3c55.a260bea0.js
deleted file mode 100644
index e06d876..0000000
--- a/zh/assets/js/72aa3c55.a260bea0.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{156:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return i})),t.d(n,"toc",(function(){return l})),t.d(n,"default",(function(){return b}));var r=t(3),a=t(8),c=(t(0),t(270)),o={title:"\u8c03\u8bd5\u529f\u80fd"},i={unversionedId:"debug-function",id:"debug-function",isDocsHomePage:!1,title:"\u8c03\u8bd5\u529f\u80fd",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-pl [...]
\ No newline at end of file
diff --git a/zh/assets/js/72aa3c55.eb4857ef.js b/zh/assets/js/72aa3c55.eb4857ef.js
new file mode 100644
index 0000000..1361fd7
--- /dev/null
+++ b/zh/assets/js/72aa3c55.eb4857ef.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{156:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return i})),t.d(n,"toc",(function(){return p})),t.d(n,"default",(function(){return b}));var r=t(3),a=t(8),c=(t(0),t(270)),o={title:"\u8c03\u8bd5\u529f\u80fd"},i={unversionedId:"debug-function",id:"debug-function",isDocsHomePage:!1,title:"\u8c03\u8bd5\u529f\u80fd",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-pl [...]
\ No newline at end of file
diff --git a/zh/assets/js/755c8723.9f0c60ed.js b/zh/assets/js/755c8723.3bf0bebe.js
similarity index 98%
rename from zh/assets/js/755c8723.9f0c60ed.js
rename to zh/assets/js/755c8723.3bf0bebe.js
index b91272f..58b33b9 100644
--- a/zh/assets/js/755c8723.9f0c60ed.js
+++ b/zh/assets/js/755c8723.3bf0bebe.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[93],{161:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return p})),n.d(t,"toc",(function(){return i})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),c=(n(0),n(270)),s={title:"\u5b89\u88c5\u4f9d\u8d56"},p={unversionedId:"install-dependencies",id:"install-dependencies",isDocsHomePage:!1,title:"\u5b89\u88c5\u4f9d\u8d56",description:"\x3c!--",source:"@site/i18n/zh/d [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[93],{161:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return p})),n.d(t,"toc",(function(){return i})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),c=(n(0),n(270)),s={title:"\u5b89\u88c5\u4f9d\u8d56"},p={unversionedId:"install-dependencies",id:"install-dependencies",isDocsHomePage:!1,title:"\u5b89\u88c5\u4f9d\u8d56",description:"\x3c!--",source:"@site/i18n/zh/d [...]
\ No newline at end of file
diff --git a/zh/assets/js/7af3052c.38312664.js b/zh/assets/js/7af3052c.49e49451.js
similarity index 99%
rename from zh/assets/js/7af3052c.38312664.js
rename to zh/assets/js/7af3052c.49e49451.js
index c496bf0..11d6994 100644
--- a/zh/assets/js/7af3052c.38312664.js
+++ b/zh/assets/js/7af3052c.49e49451.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[96],{164: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(8),r=(t(0),t(270)),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([[96],{164: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(8),r=(t(0),t(270)),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/8e27d69a.0699cb5d.js b/zh/assets/js/8e27d69a.0699cb5d.js
deleted file mode 100644
index 43c2ca6..0000000
--- a/zh/assets/js/8e27d69a.0699cb5d.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{175:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),o=(n(0),n(270)),a={title:"Developing for Apache APISIX Ingress Controller"},l={unversionedId:"development",id:"development",isDocsHomePage:!1,title:"Developing for Apache APISIX Ingress Controller",description:"\x3 [...]
\ No newline at end of file
diff --git a/zh/assets/js/8e27d69a.752302ab.js b/zh/assets/js/8e27d69a.752302ab.js
new file mode 100644
index 0000000..bdf049c
--- /dev/null
+++ b/zh/assets/js/8e27d69a.752302ab.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{175:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return l})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return u}));var r=n(3),i=n(8),o=(n(0),n(270)),a={title:"Developing for Apache APISIX Ingress Controller"},l={unversionedId:"development",id:"development",isDocsHomePage:!1,title:"Developing for Apache APISIX Ingress Controller",description:"\x3 [...]
\ No newline at end of file
diff --git a/zh/assets/js/8e784bf3.0f6ea4c6.js b/zh/assets/js/8e784bf3.5b24bd09.js
similarity index 98%
rename from zh/assets/js/8e784bf3.0f6ea4c6.js
rename to zh/assets/js/8e784bf3.5b24bd09.js
index 66da6a4..26aa63b 100644
--- a/zh/assets/js/8e784bf3.0f6ea4c6.js
+++ b/zh/assets/js/8e784bf3.5b24bd09.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{176: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(8),a=(n(0),n(270)),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([[109],{176: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(8),a=(n(0),n(270)),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/93013804.f5c6d72f.js b/zh/assets/js/93013804.9c28b65c.js
similarity index 91%
rename from zh/assets/js/93013804.f5c6d72f.js
rename to zh/assets/js/93013804.9c28b65c.js
index 5f50e85..22f5426 100644
--- a/zh/assets/js/93013804.f5c6d72f.js
+++ b/zh/assets/js/93013804.9c28b65c.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{178:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),a=(n(0),n(270)),s={title:"Install Ingress APISIX on Minikube"},o={unversionedId:"deployments/minikube",id:"deployments/minikube",isDocsHomePage:!1,title:"Install Ingress APISIX on Minikube",description:"\x3c!--",so [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{178:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),i=n(8),a=(n(0),n(270)),s={title:"Install Ingress APISIX on Minikube"},o={unversionedId:"deployments/minikube",id:"deployments/minikube",isDocsHomePage:!1,title:"Install Ingress APISIX on Minikube",description:"\x3c!--",so [...]
\ No newline at end of file
diff --git a/zh/assets/js/9969a994.7afad919.js b/zh/assets/js/9969a994.7afad919.js
new file mode 100644
index 0000000..a38d465
--- /dev/null
+++ b/zh/assets/js/9969a994.7afad919.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[117],{183:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return p})),r.d(t,"default",(function(){return s}));var n=r(3),i=r(8),a=(r(0),r(270)),c={title:"Proxy the httpbin service"},o={unversionedId:"practices/proxy-the-httpbin-service",id:"practices/proxy-the-httpbin-service",isDocsHomePage:!1,title:"Proxy the httpbin service",description: [...]
\ No newline at end of file
diff --git a/zh/assets/js/9969a994.dde0caa4.js b/zh/assets/js/9969a994.dde0caa4.js
deleted file mode 100644
index ddac24e..0000000
--- a/zh/assets/js/9969a994.dde0caa4.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[117],{183:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return c})),r.d(t,"metadata",(function(){return o})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return l}));var n=r(3),i=r(8),a=(r(0),r(270)),c={title:"Proxy the httpbin service"},o={unversionedId:"practices/proxy-the-httpbin-service",id:"practices/proxy-the-httpbin-service",isDocsHomePage:!1,title:"Proxy the httpbin service",description: [...]
\ No newline at end of file
diff --git a/zh/assets/js/9da58367.b7421c29.js b/zh/assets/js/9da58367.b7421c29.js
deleted file mode 100644
index 92e8504..0000000
--- a/zh/assets/js/9da58367.b7421c29.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[122],{188:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return s})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(8),i=(t(0),t(270)),o={title:"ApisixRoute"},c={unversionedId:"concepts/apisix_route",id:"concepts/apisix_route",isDocsHomePage:!1,title:"ApisixRoute",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/c [...]
\ No newline at end of file
diff --git a/zh/assets/js/9da58367.c7c248e7.js b/zh/assets/js/9da58367.c7c248e7.js
new file mode 100644
index 0000000..803dd1e
--- /dev/null
+++ b/zh/assets/js/9da58367.c7c248e7.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[122],{188:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return o})),t.d(n,"metadata",(function(){return c})),t.d(n,"toc",(function(){return s})),t.d(n,"default",(function(){return l}));var a=t(3),r=t(8),i=(t(0),t(270)),o={title:"ApisixRoute"},c={unversionedId:"concepts/apisix_route",id:"concepts/apisix_route",isDocsHomePage:!1,title:"ApisixRoute",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/c [...]
\ No newline at end of file
diff --git a/zh/assets/js/ac9cf38b.be06fcec.js b/zh/assets/js/ac9cf38b.0b3f3ef9.js
similarity index 69%
rename from zh/assets/js/ac9cf38b.be06fcec.js
rename to zh/assets/js/ac9cf38b.0b3f3ef9.js
index 7e5823a..b25e44e 100644
--- a/zh/assets/js/ac9cf38b.be06fcec.js
+++ b/zh/assets/js/ac9cf38b.0b3f3ef9.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[132],{199:function(t,e,n){"use strict";n.r(e),n.d(e,"frontMatter",(function(){return b})),n.d(e,"metadata",(function(){return c})),n.d(e,"toc",(function(){return i})),n.d(e,"default",(function(){return u}));var a=n(3),r=n(8),l=(n(0),n(270)),b={title:"openid-connect"},c={unversionedId:"plugins/openid-connect",id:"plugins/openid-connect",isDocsHomePage:!1,title:"openid-connect",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugi [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[132],{199:function(t,e,n){"use strict";n.r(e),n.d(e,"frontMatter",(function(){return b})),n.d(e,"metadata",(function(){return c})),n.d(e,"toc",(function(){return i})),n.d(e,"default",(function(){return u}));var a=n(3),r=n(8),l=(n(0),n(270)),b={title:"openid-connect"},c={unversionedId:"plugins/openid-connect",id:"plugins/openid-connect",isDocsHomePage:!1,title:"openid-connect",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugi [...]
\ No newline at end of file
diff --git a/zh/assets/js/adbb350b.b6d39a26.js b/zh/assets/js/adbb350b.052b2d5f.js
similarity index 99%
rename from zh/assets/js/adbb350b.b6d39a26.js
rename to zh/assets/js/adbb350b.052b2d5f.js
index bac1c92..20c47dd 100644
--- a/zh/assets/js/adbb350b.b6d39a26.js
+++ b/zh/assets/js/adbb350b.052b2d5f.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{200: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(8),n=(r(0),r(270)),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([[133],{200: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(8),n=(r(0),r(270)),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/b0e5e822.2316f348.js b/zh/assets/js/b0e5e822.2316f348.js
deleted file mode 100644
index 14a7640..0000000
--- a/zh/assets/js/b0e5e822.2316f348.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[136],{203:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(8),i=(n(0),n(270)),o={title:"ApisixUpstream"},s={unversionedId:"concepts/apisix_upstream",id:"concepts/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream",description:"\x3c!--",source:"@site/docs/apisix-ingress- [...]
\ No newline at end of file
diff --git a/zh/assets/js/b0e5e822.fade4e97.js b/zh/assets/js/b0e5e822.fade4e97.js
new file mode 100644
index 0000000..0af084f
--- /dev/null
+++ b/zh/assets/js/b0e5e822.fade4e97.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[136],{203:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return s})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return l}));var a=n(3),r=n(8),i=(n(0),n(270)),o={title:"ApisixUpstream"},s={unversionedId:"concepts/apisix_upstream",id:"concepts/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream",description:"\x3c!--",source:"@site/docs/apisix-ingress- [...]
\ No newline at end of file
diff --git a/zh/assets/js/b4a67526.9340e43c.js b/zh/assets/js/b4a67526.9340e43c.js
deleted file mode 100644
index d6a81f4..0000000
--- a/zh/assets/js/b4a67526.9340e43c.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{206:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-ingress-controller","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX Ingress Controller","href":"https://apisix.apache.org/docs/ingress-controller/getting-started/"},{"collapsed":true,"type":"category","label":"Getting Started","items":[{"type":"link","label":"Getting Started","href":"/zh/docs/ingress-contr [...]
\ No newline at end of file
diff --git a/zh/assets/js/b4a67526.f23e8091.js b/zh/assets/js/b4a67526.f23e8091.js
new file mode 100644
index 0000000..0d96e7c
--- /dev/null
+++ b/zh/assets/js/b4a67526.f23e8091.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{206:function(e){e.exports=JSON.parse('{"pluginId":"docs-apisix-ingress-controller","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX Ingress Controller","href":"https://apisix.apache.org/docs/ingress-controller/getting-started/"},{"type":"link","label":"Getting Started","href":"/zh/docs/ingress-controller/getting-started"},{"collapsed":true,"type":"category","label":"Pr [...]
\ No newline at end of file
diff --git a/zh/assets/js/b58143c5.5d318bf5.js b/zh/assets/js/b58143c5.1c7df421.js
similarity index 97%
rename from zh/assets/js/b58143c5.5d318bf5.js
rename to zh/assets/js/b58143c5.1c7df421.js
index d610881..dea9b12 100644
--- a/zh/assets/js/b58143c5.5d318bf5.js
+++ b/zh/assets/js/b58143c5.1c7df421.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[140],{207:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on KubeSphere"},o={unversionedId:"deployments/kubesphere",id:"deployments/kubesphere",isDocsHomePage:!1,title:"Install Ingress APISIX on KubeSphere",description:"\x3 [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[140],{207:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on KubeSphere"},o={unversionedId:"deployments/kubesphere",id:"deployments/kubesphere",isDocsHomePage:!1,title:"Install Ingress APISIX on KubeSphere",description:"\x3 [...]
\ No newline at end of file
diff --git a/zh/assets/js/ca5ff64e.c5f0008c.js b/zh/assets/js/ca5ff64e.c5f0008c.js
deleted file mode 100644
index 8dd2b5d..0000000
--- a/zh/assets/js/ca5ff64e.c5f0008c.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[154],{221:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return l}));var r=n(3),i=n(8),s=(n(0),n(270)),a={title:"Proxy the httpbin service with Ingress"},c={unversionedId:"practices/proxy-the-httpbin-service-with-ingress",id:"practices/proxy-the-httpbin-service-with-ingress",isDocsHomePage:!1,title:" [...]
\ No newline at end of file
diff --git a/zh/assets/js/ca5ff64e.db8bad46.js b/zh/assets/js/ca5ff64e.db8bad46.js
new file mode 100644
index 0000000..feddaf9
--- /dev/null
+++ b/zh/assets/js/ca5ff64e.db8bad46.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[154],{221:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return a})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return o})),n.d(t,"default",(function(){return l}));var r=n(3),i=n(8),s=(n(0),n(270)),a={title:"Proxy the httpbin service with Ingress"},c={unversionedId:"practices/proxy-the-httpbin-service-with-ingress",id:"practices/proxy-the-httpbin-service-with-ingress",isDocsHomePage:!1,title:" [...]
\ No newline at end of file
diff --git a/zh/assets/js/cfdc22b3.9132ebe0.js b/zh/assets/js/cfdc22b3.0539091d.js
similarity index 64%
rename from zh/assets/js/cfdc22b3.9132ebe0.js
rename to zh/assets/js/cfdc22b3.0539091d.js
index 12b4602..09c3f02 100644
--- a/zh/assets/js/cfdc22b3.9132ebe0.js
+++ b/zh/assets/js/cfdc22b3.0539091d.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[156],{222:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return i})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),l=(n(0),n(270)),b={title:"kafka-logger"},c={unversionedId:"plugins/kafka-logger",id:"plugins/kafka-logger",isDocsHomePage:!1,title:"kafka-logger",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-conten [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[156],{222:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return b})),n.d(t,"metadata",(function(){return c})),n.d(t,"toc",(function(){return i})),n.d(t,"default",(function(){return o}));var a=n(3),r=n(8),l=(n(0),n(270)),b={title:"kafka-logger"},c={unversionedId:"plugins/kafka-logger",id:"plugins/kafka-logger",isDocsHomePage:!1,title:"kafka-logger",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-conten [...]
\ No newline at end of file
diff --git a/zh/assets/js/d0e718c3.7e0972c1.js b/zh/assets/js/d0e718c3.7e0972c1.js
deleted file mode 100644
index 11982a3..0000000
--- a/zh/assets/js/d0e718c3.7e0972c1.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[157],{223:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return r})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return d}));var a=n(3),l=n(8),b=(n(0),n(270)),r={title:"Admin API"},i={unversionedId:"admin-api",id:"admin-api",isDocsHomePage:!1,title:"Admin API",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-docs-apisix/current/a [...]
\ No newline at end of file
diff --git a/zh/assets/js/d0e718c3.f4e1f67e.js b/zh/assets/js/d0e718c3.f4e1f67e.js
new file mode 100644
index 0000000..94db6ef
--- /dev/null
+++ b/zh/assets/js/d0e718c3.f4e1f67e.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[157],{223:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return r})),n.d(t,"metadata",(function(){return i})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return d}));var a=n(3),l=n(8),b=(n(0),n(270)),r={title:"Admin API"},i={unversionedId:"admin-api",id:"admin-api",isDocsHomePage:!1,title:"Admin API",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-docs-apisix/current/a [...]
\ No newline at end of file
diff --git a/zh/assets/js/d73fca9b.42f9daf3.js b/zh/assets/js/d73fca9b.6403a5a7.js
similarity index 63%
rename from zh/assets/js/d73fca9b.42f9daf3.js
rename to zh/assets/js/d73fca9b.6403a5a7.js
index a284697..eb43146 100644
--- a/zh/assets/js/d73fca9b.42f9daf3.js
+++ b/zh/assets/js/d73fca9b.6403a5a7.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[165],{231:function(i){i.exports=JSON.parse('{"pluginId":"docs-apisix","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX","href":"https://apisix.apache.org/docs/apisix/getting-started"},{"collapsed":true,"type":"category","label":"Architecture Design","items":[{"type":"link","label":"APISIX","href":"/zh/docs/apisix/architecture-design/apisix"},{"type":"link","label":"Route","h [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[165],{231:function(i){i.exports=JSON.parse('{"pluginId":"docs-apisix","version":"current","label":"Next","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Apache APISIX","href":"https://apisix.apache.org/docs/apisix/getting-started"},{"collapsed":true,"type":"category","label":"Architecture Design","items":[{"type":"link","label":"APISIX","href":"/zh/docs/apisix/architecture-design/apisix"},{"type":"link","label":"Route","h [...]
\ No newline at end of file
diff --git a/zh/assets/js/e25b82d9.334e30dc.js b/zh/assets/js/e25b82d9.334e30dc.js
new file mode 100644
index 0000000..56c9aba
--- /dev/null
+++ b/zh/assets/js/e25b82d9.334e30dc.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[173],{239:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return l})),t.d(n,"metadata",(function(){return i})),t.d(n,"toc",(function(){return p})),t.d(n,"default",(function(){return b}));var a=t(3),r=t(8),c=(t(0),t(270)),l={title:"\u63d2\u4ef6\u5f00\u53d1"},i={unversionedId:"plugin-develop",id:"plugin-develop",isDocsHomePage:!1,title:"\u63d2\u4ef6\u5f00\u53d1",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-p [...]
\ No newline at end of file
diff --git a/zh/assets/js/e25b82d9.5fb26cdf.js b/zh/assets/js/e25b82d9.5fb26cdf.js
deleted file mode 100644
index 883a4ab..0000000
--- a/zh/assets/js/e25b82d9.5fb26cdf.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[173],{239:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return l})),t.d(n,"metadata",(function(){return p})),t.d(n,"toc",(function(){return i})),t.d(n,"default",(function(){return b}));var a=t(3),r=t(8),c=(t(0),t(270)),l={title:"\u63d2\u4ef6\u5f00\u53d1"},p={unversionedId:"plugin-develop",id:"plugin-develop",isDocsHomePage:!1,title:"\u63d2\u4ef6\u5f00\u53d1",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-p [...]
\ No newline at end of file
diff --git a/zh/assets/js/e60dd3b0.964c07c6.js b/zh/assets/js/e60dd3b0.964c07c6.js
new file mode 100644
index 0000000..9c8f8b5
--- /dev/null
+++ b/zh/assets/js/e60dd3b0.964c07c6.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[176],{242:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var i=n(3),r=n(8),a=(n(0),n(270)),s={title:"Ingress Controller"},o={unversionedId:"design",id:"design",isDocsHomePage:!1,title:"Ingress Controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/design.md",slug:" [...]
\ No newline at end of file
diff --git a/zh/assets/js/e60dd3b0.b93169a6.js b/zh/assets/js/e60dd3b0.b93169a6.js
deleted file mode 100644
index 97bd62d..0000000
--- a/zh/assets/js/e60dd3b0.b93169a6.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[176],{242:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return c})),n.d(t,"default",(function(){return p}));var i=n(3),a=n(8),r=(n(0),n(270)),s={title:"Ingress Controller"},o={unversionedId:"design",id:"design",isDocsHomePage:!1,title:"Ingress Controller",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/design.md",slug:" [...]
\ No newline at end of file
diff --git a/zh/assets/js/eba3b9b2.7a276b45.js b/zh/assets/js/eba3b9b2.7a276b45.js
new file mode 100644
index 0000000..5a75c87
--- /dev/null
+++ b/zh/assets/js/eba3b9b2.7a276b45.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[179],{247:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return p})),r.d(t,"toc",(function(){return s})),r.d(t,"default",(function(){return b}));var n=r(3),a=r(8),c=(r(0),r(270)),i={title:"\u538b\u529b\u6d4b\u8bd5"},p={unversionedId:"benchmark",id:"benchmark",isDocsHomePage:!1,title:"\u538b\u529b\u6d4b\u8bd5",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-cont [...]
\ No newline at end of file
diff --git a/zh/assets/js/eba3b9b2.ab7045f2.js b/zh/assets/js/eba3b9b2.ab7045f2.js
deleted file mode 100644
index d28d47c..0000000
--- a/zh/assets/js/eba3b9b2.ab7045f2.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[179],{247:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return p})),n.d(t,"toc",(function(){return s})),n.d(t,"default",(function(){return b}));var r=n(3),a=n(8),c=(n(0),n(270)),i={title:"\u538b\u529b\u6d4b\u8bd5"},p={unversionedId:"benchmark",id:"benchmark",isDocsHomePage:!1,title:"\u538b\u529b\u6d4b\u8bd5",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-cont [...]
\ No newline at end of file
diff --git a/zh/assets/js/f45d06d8.29aeb338.js b/zh/assets/js/f45d06d8.29aeb338.js
deleted file mode 100644
index b8c54f9..0000000
--- a/zh/assets/js/f45d06d8.29aeb338.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[184],{252: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 p}));var n=r(3),a=r(8),i=(r(0),r(270)),o={title:"Getting Started"},s={unversionedId:"getting-started",id:"getting-started",isDocsHomePage:!1,title:"Getting Started",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/getti [...]
\ No newline at end of file
diff --git a/zh/assets/js/f45d06d8.90e007fa.js b/zh/assets/js/f45d06d8.90e007fa.js
new file mode 100644
index 0000000..00031fd
--- /dev/null
+++ b/zh/assets/js/f45d06d8.90e007fa.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[184],{252: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 p}));var n=r(3),a=r(8),i=(r(0),r(270)),o={title:"Getting Started"},s={unversionedId:"getting-started",id:"getting-started",isDocsHomePage:!1,title:"Getting Started",description:"\x3c!--",source:"@site/docs/apisix-ingress-controller/getti [...]
\ No newline at end of file
diff --git a/zh/assets/js/f6cd6006.2ceceadf.js b/zh/assets/js/f6cd6006.6e27d3aa.js
similarity index 58%
rename from zh/assets/js/f6cd6006.2ceceadf.js
rename to zh/assets/js/f6cd6006.6e27d3aa.js
index 300993a..ef644f4 100644
--- a/zh/assets/js/f6cd6006.2ceceadf.js
+++ b/zh/assets/js/f6cd6006.6e27d3aa.js
@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[187],{255:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),i=(n(0),n(270)),s={title:"Install Ingress APISIX on Azure AKS"},o={unversionedId:"deployments/azure",id:"deployments/azure",isDocsHomePage:!1,title:"Install Ingress APISIX on Azure AKS",description:"\x3c!--",source [...]
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[187],{255:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return o})),n.d(t,"toc",(function(){return l})),n.d(t,"default",(function(){return p}));var r=n(3),a=n(8),s=(n(0),n(270)),i={title:"Install Ingress APISIX on Azure AKS"},o={unversionedId:"deployments/azure",id:"deployments/azure",isDocsHomePage:!1,title:"Install Ingress APISIX on Azure AKS",description:"\x3c!--",source [...]
\ No newline at end of file
diff --git a/zh/assets/js/f8217c69.9908e08d.js b/zh/assets/js/f8217c69.9908e08d.js
new file mode 100644
index 0000000..c4d8535
--- /dev/null
+++ b/zh/assets/js/f8217c69.9908e08d.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[190],{258:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return b})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return p}));var n=a(3),r=a(8),l=(a(0),a(270)),i={title:"ApisixUpstream Reference"},b={unversionedId:"references/apisix_upstream",id:"references/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream Reference",description:"\x3c!--",source:"@s [...]
\ No newline at end of file
diff --git a/zh/assets/js/f8217c69.ece55a7f.js b/zh/assets/js/f8217c69.ece55a7f.js
deleted file mode 100644
index 03e8c08..0000000
--- a/zh/assets/js/f8217c69.ece55a7f.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[190],{258:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return b})),a.d(t,"toc",(function(){return c})),a.d(t,"default",(function(){return p}));var n=a(3),r=a(8),l=(a(0),a(270)),i={title:"ApisixUpstream Reference"},b={unversionedId:"references/apisix_upstream",id:"references/apisix_upstream",isDocsHomePage:!1,title:"ApisixUpstream Reference",description:"\x3c!--",source:"@s [...]
\ No newline at end of file
diff --git a/zh/assets/js/f9dabc71.42731056.js b/zh/assets/js/f9dabc71.42731056.js
deleted file mode 100644
index 0b54f14..0000000
--- a/zh/assets/js/f9dabc71.42731056.js
+++ /dev/null
@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[191],{259:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return p})),a.d(t,"toc",(function(){return b})),a.d(t,"default",(function(){return s}));var n=a(3),r=a(8),l=(a(0),a(270)),i={title:"skywalking"},p={unversionedId:"plugins/skywalking",id:"plugins/skywalking",isDocsHomePage:!1,title:"skywalking",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-d [...]
\ No newline at end of file
diff --git a/zh/assets/js/f9dabc71.4e1a02cd.js b/zh/assets/js/f9dabc71.4e1a02cd.js
new file mode 100644
index 0000000..a18b027
--- /dev/null
+++ b/zh/assets/js/f9dabc71.4e1a02cd.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[191],{259:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return i})),a.d(t,"metadata",(function(){return b})),a.d(t,"toc",(function(){return p})),a.d(t,"default",(function(){return s}));var n=a(3),r=a(8),l=(a(0),a(270)),i={title:"skywalking"},b={unversionedId:"plugins/skywalking",id:"plugins/skywalking",isDocsHomePage:!1,title:"skywalking",description:"\x3c!--",source:"@site/i18n/zh/docusaurus-plugin-content-docs-d [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.ad1f99cc.js b/zh/assets/js/main.ad1f99cc.js
deleted file mode 100644
index c652d57..0000000
--- a/zh/assets/js/main.ad1f99cc.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.ad1f99cc.js.LICENSE.txt */
-(window.webpackJsonp=window.webpackJsonp||[]).push([[196],[function(e,t,n){"use strict";e.exports=n(39)},function(e,t,n){e.exports=n(43)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return x})),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 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.e17e0006.js b/zh/assets/js/main.e17e0006.js
new file mode 100644
index 0000000..e10bdbc
--- /dev/null
+++ b/zh/assets/js/main.e17e0006.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.e17e0006.js.LICENSE.txt */
+(window.webpackJsonp=window.webpackJsonp||[]).push([[196],[function(e,t,n){"use strict";e.exports=n(39)},function(e,t,n){e.exports=n(43)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"b",(function(){return x})),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 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/assets/js/main.e9e5b420.js.LICENSE.txt b/zh/assets/js/main.e17e0006.js.LICENSE.txt
similarity index 100%
rename from assets/js/main.e9e5b420.js.LICENSE.txt
rename to zh/assets/js/main.e17e0006.js.LICENSE.txt
diff --git a/zh/assets/js/runtime~main.61ad33ca.js b/zh/assets/js/runtime~main.4050c260.js
similarity index 72%
rename from zh/assets/js/runtime~main.61ad33ca.js
rename to zh/assets/js/runtime~main.4050c260.js
index fe21f72..108e679 100644
--- a/zh/assets/js/runtime~main.61ad33ca.js
+++ b/zh/assets/js/runtime~main.4050c260.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={197:0},b=[];function r(e){ret [...]
\ No newline at end of file
+!function(e){function f(f){for(var d,r,t=f[0],n=f[1],o=f[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(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],d=!0,r=1;r<a.length;r++){var n=a[r];0!==c[n]&&(d=!1)}d&&(b.splice(f--,1),e=t(t.s=a[0]))}return e}var d={},c={197:0},b=[];function r(e){ret [...]
\ No newline at end of file
diff --git a/zh/blog/2020/08/22/new-website/index.html b/zh/blog/2020/08/22/new-website/index.html
index 48fbd36..f4c30c7 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/4.bde55da2.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 91de34f..e9801de 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bde55da2.js" as="script">
@@ -31,8 +31,8 @@
 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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/4.bde55da2.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 2a1a542..21cbd91 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/4.bde55da2.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 ed5bae7..e2ba3c4 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bde55da2.js" as="script">
@@ -30,8 +30,8 @@
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/4.bde55da2.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 1e3efb8..2380fff 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/4.bde55da2.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 7fafa18..08d2477 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bde55da2.js" as="script">
@@ -31,8 +31,8 @@
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apache APIS [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAME: apisix-gw</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">LAST DEPLOYED: Fri Feb 19 11:34:14 2021</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">NAMESPACE: default</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">STATUS: deployed</span></div><div class="token-line" style="color:#bfc7d5"><span [...]
 <script src="/zh/assets/js/styles.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/4.bde55da2.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 dc651b2..4463f96 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/4.bde55da2.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 eefdaf3..de6e7e7 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="@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><me [...]
 <link rel="preload" href="/zh/assets/js/styles.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bde55da2.js" as="script">
@@ -29,8 +29,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/4.bde55da2.js"></script>
diff --git a/zh/blog/index.html b/zh/blog/index.html
index f873520..2595786 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/4.bde55da2.js" as="script">
@@ -37,8 +37,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">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/4.bde55da2.js"></script>
diff --git a/zh/docs/apisix/FAQ/index.html b/zh/docs/apisix/FAQ/index.html
index 21f76ce..a090ec4 100644
--- a/zh/docs/apisix/FAQ/index.html
+++ b/zh/docs/apisix/FAQ/index.html
@@ -16,34 +16,35 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/5880833a.f9ce75b1.js" as="script">
+<link rel="preload" href="/zh/assets/js/5880833a.b6443dfc.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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="/zh/docs/apisix/benchmark">benchmark</a></p><p>APISIX 是当前性能最好的 API 网关,单核 QPS 达到 2.3 万,平均延时仅有 0.6 毫秒。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="a [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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="/zh/docs/apisix/benchmark">benchmark</a></p><p>APISIX 是当前性能最好的 API 网关,单核 QPS 达到 2.3 万,平均延时仅有 0.6 毫秒。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="a [...]
 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" 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" 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:#bfc7 [...]
+</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:#bfc7 [...]
+</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 punctuation" style="color:rgb(199, 146, 234)">..</span><span class="token punctuation" style="color:rgb(199 [...]
 <script src="/zh/assets/js/styles.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/5880833a.f9ce75b1.js"></script>
+<script src="/zh/assets/js/5880833a.b6443dfc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/IGNORE_DOC/index.html b/zh/docs/apisix/IGNORE_DOC/index.html
index daedb63..4eef565 100644
--- a/zh/docs/apisix/IGNORE_DOC/index.html
+++ b/zh/docs/apisix/IGNORE_DOC/index.html
@@ -16,12 +16,12 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/601c6eaa.a2f662d8.js" as="script">
 </head>
@@ -29,12 +29,12 @@
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/601c6eaa.a2f662d8.js"></script>
 </body>
diff --git a/zh/docs/apisix/admin-api/index.html b/zh/docs/apisix/admin-api/index.html
index f195c72..2289a85 100644
--- a/zh/docs/apisix/admin-api/index.html
+++ b/zh/docs/apisix/admin-api/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX™</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="zh"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-docs- [...]
 <link rel="preload" href="/zh/assets/js/styles.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/d0e718c3.7e0972c1.js" as="script">
+<link rel="preload" href="/zh/assets/js/d0e718c3.f4e1f67e.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
@@ -92,15 +92,15 @@
 </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" 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 [...]
+</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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/d0e718c3.7e0972c1.js"></script>
+<script src="/zh/assets/js/d0e718c3.f4e1f67e.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/architecture-design/apisix/index.html b/zh/docs/apisix/architecture-design/apisix/index.html
index c52968b..d5a09f9 100644
--- a/zh/docs/apisix/architecture-design/apisix/index.html
+++ b/zh/docs/apisix/architecture-design/apisix/index.html
@@ -16,29 +16,29 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/5bf823ed.ff878394.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/5bf823ed.ff878394.js"></script>
 </body>
diff --git a/zh/docs/apisix/architecture-design/consumer/index.html b/zh/docs/apisix/architecture-design/consumer/index.html
index 206ae4e..b63e5b3 100644
--- a/zh/docs/apisix/architecture-design/consumer/index.html
+++ b/zh/docs/apisix/architecture-design/consumer/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/35b25cb8.4218aff3.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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,12 +39,12 @@
 </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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/35b25cb8.4218aff3.js"></script>
 </body>
diff --git a/zh/docs/apisix/architecture-design/debug-mode/index.html b/zh/docs/apisix/architecture-design/debug-mode/index.html
index 512d1af..56c29bd 100644
--- a/zh/docs/apisix/architecture-design/debug-mode/index.html
+++ b/zh/docs/apisix/architecture-design/debug-mode/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/7e8e17a7.4dfbf16c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/7e8e17a7.4dfbf16c.js"></script>
 </body>
diff --git a/zh/docs/apisix/architecture-design/global-rule/index.html b/zh/docs/apisix/architecture-design/global-rule/index.html
index 090dced..994bb7e 100644
--- a/zh/docs/apisix/architecture-design/global-rule/index.html
+++ b/zh/docs/apisix/architecture-design/global-rule/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">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/458cdf70.93436e0e.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/458cdf70.93436e0e.js"></script>
 </body>
diff --git a/zh/docs/apisix/architecture-design/plugin-config/index.html b/zh/docs/apisix/architecture-design/plugin-config/index.html
index 17b683c..6040fe8 100644
--- a/zh/docs/apisix/architecture-design/plugin-config/index.html
+++ b/zh/docs/apisix/architecture-design/plugin-config/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">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/30dc1fa0.74e575cf.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/30dc1fa0.74e575cf.js"></script>
 </body>
diff --git a/zh/docs/apisix/architecture-design/plugin/index.html b/zh/docs/apisix/architecture-design/plugin/index.html
index 0e19824..25a65cb 100644
--- a/zh/docs/apisix/architecture-design/plugin/index.html
+++ b/zh/docs/apisix/architecture-design/plugin/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/9e25fdd8.491086ea.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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,12 +36,12 @@
 名字作为哈希的 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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/9e25fdd8.491086ea.js"></script>
 </body>
diff --git a/zh/docs/apisix/architecture-design/route/index.html b/zh/docs/apisix/architecture-design/route/index.html
index c562478..bf0011b 100644
--- a/zh/docs/apisix/architecture-design/route/index.html
+++ b/zh/docs/apisix/architecture-design/route/index.html
@@ -16,29 +16,29 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/a9feb042.e9d283c6.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/a9feb042.e9d283c6.js"></script>
 </body>
diff --git a/zh/docs/apisix/architecture-design/router/index.html b/zh/docs/apisix/architecture-design/router/index.html
index 82badf8..2f6694f 100644
--- a/zh/docs/apisix/architecture-design/router/index.html
+++ b/zh/docs/apisix/architecture-design/router/index.html
@@ -16,25 +16,25 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/d9a95709.3db5607a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/d9a95709.3db5607a.js"></script>
 </body>
diff --git a/zh/docs/apisix/architecture-design/script/index.html b/zh/docs/apisix/architecture-design/script/index.html
index f1c7456..3312756 100644
--- a/zh/docs/apisix/architecture-design/script/index.html
+++ b/zh/docs/apisix/architecture-design/script/index.html
@@ -16,25 +16,25 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/6f8b8f6f.d7dfbfdb.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/6f8b8f6f.d7dfbfdb.js"></script>
 </body>
diff --git a/zh/docs/apisix/architecture-design/service/index.html b/zh/docs/apisix/architecture-design/service/index.html
index 101ab06..e1df459 100644
--- a/zh/docs/apisix/architecture-design/service/index.html
+++ b/zh/docs/apisix/architecture-design/service/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/dcd33163.09601a0f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/dcd33163.09601a0f.js"></script>
 </body>
diff --git a/zh/docs/apisix/architecture-design/upstream/index.html b/zh/docs/apisix/architecture-design/upstream/index.html
index 6de32ad..f559c37 100644
--- a/zh/docs/apisix/architecture-design/upstream/index.html
+++ b/zh/docs/apisix/architecture-design/upstream/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">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/b11ac1fe.06e314a6.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/b11ac1fe.06e314a6.js"></script>
 </body>
diff --git a/zh/docs/apisix/aws/index.html b/zh/docs/apisix/aws/index.html
index 2d60a17..f6fd4eb 100644
--- a/zh/docs/apisix/aws/index.html
+++ b/zh/docs/apisix/aws/index.html
@@ -16,12 +16,12 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/71950930.06bca264.js" as="script">
 </head>
@@ -51,12 +51,12 @@
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
 <script src="/zh/assets/js/styles.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/71950930.06bca264.js"></script>
 </body>
diff --git a/zh/docs/apisix/batch-processor/index.html b/zh/docs/apisix/batch-processor/index.html
index 2b8ef27..f02de5b 100644
--- a/zh/docs/apisix/batch-processor/index.html
+++ b/zh/docs/apisix/batch-processor/index.html
@@ -16,33 +16,33 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/2503b74e.d34b4cfc.js" as="script">
+<link rel="preload" href="/zh/assets/js/2503b74e.78b3f5dd.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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">
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>注意:请确保批处理的最大大小(条目数)在函数执行的范围内。
 刷新批处理的计时器基于“ 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. [...]
+保持“ 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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/2503b74e.d34b4cfc.js"></script>
+<script src="/zh/assets/js/2503b74e.78b3f5dd.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/benchmark/index.html b/zh/docs/apisix/benchmark/index.html
index 250d04d..7767bf5 100644
--- a/zh/docs/apisix/benchmark/index.html
+++ b/zh/docs/apisix/benchmark/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">压力测试 | 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/eba3b9b2.ab7045f2.js" as="script">
+<link rel="preload" href="/zh/assets/js/eba3b9b2.7a276b45.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/eba3b9b2.ab7045f2.js"></script>
+<script src="/zh/assets/js/eba3b9b2.7a276b45.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/control-api/index.html b/zh/docs/apisix/control-api/index.html
index 61f83a2..a8330b4 100644
--- a/zh/docs/apisix/control-api/index.html
+++ b/zh/docs/apisix/control-api/index.html
@@ -16,30 +16,30 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/ff8d1795.20d1fea4.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/ff8d1795.20d1fea4.js"></script>
 </body>
diff --git a/zh/docs/apisix/customize-nginx-configuration/index.html b/zh/docs/apisix/customize-nginx-configuration/index.html
index eb0ddee..7784ffa 100644
--- a/zh/docs/apisix/customize-nginx-configuration/index.html
+++ b/zh/docs/apisix/customize-nginx-configuration/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">自定义 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/b8ef15e5.3e9dcd58.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/b8ef15e5.3e9dcd58.js"></script>
 </body>
diff --git a/zh/docs/apisix/debug-function/index.html b/zh/docs/apisix/debug-function/index.html
index b740965..65b1313 100644
--- a/zh/docs/apisix/debug-function/index.html
+++ b/zh/docs/apisix/debug-function/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">调试功能 | 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/72aa3c55.a260bea0.js" as="script">
+<link rel="preload" href="/zh/assets/js/72aa3c55.eb4857ef.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/72aa3c55.a260bea0.js"></script>
+<script src="/zh/assets/js/72aa3c55.eb4857ef.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/discovery/consul_kv/index.html b/zh/docs/apisix/discovery/consul_kv/index.html
index c3a2015..e4dbeb6 100644
--- a/zh/docs/apisix/discovery/consul_kv/index.html
+++ b/zh/docs/apisix/discovery/consul_kv/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/e461335b.9bcb7fb8.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/e461335b.9bcb7fb8.js"></script>
 </body>
diff --git a/zh/docs/apisix/discovery/dns/index.html b/zh/docs/apisix/discovery/dns/index.html
index 23dc571..f506cfe 100644
--- a/zh/docs/apisix/discovery/dns/index.html
+++ b/zh/docs/apisix/discovery/dns/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/72ff46d3.3f2b6468.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 </span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">; name  TTL         type    priority    weight  port</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">srv     86400 IN    SRV     10          60      1980 A</span></div><div class="token-line" style="color:#bfc7d5"><span class="token plain">srv     86400 IN    SRV     20          20      1981 B</span></div></div></div><button type="button" aria-label="Copy code to clipb [...]
@@ -38,12 +38,12 @@ 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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/72ff46d3.3f2b6468.js"></script>
 </body>
diff --git a/zh/docs/apisix/discovery/eureka/index.html b/zh/docs/apisix/discovery/eureka/index.html
index cf09b23..1c5f742 100644
--- a/zh/docs/apisix/discovery/eureka/index.html
+++ b/zh/docs/apisix/discovery/eureka/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">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/af4112e0.01e14b3f.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/af4112e0.01e14b3f.js"></script>
 </body>
diff --git a/zh/docs/apisix/discovery/index.html b/zh/docs/apisix/discovery/index.html
index f54d0cf..bc4982d 100644
--- a/zh/docs/apisix/discovery/index.html
+++ b/zh/docs/apisix/discovery/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">集成服务发现注册中心 | 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/3a565ccf.704debaf.js" as="script">
+<link rel="preload" href="/zh/assets/js/3a565ccf.388fa90c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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,16 +35,16 @@
 </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" 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></ [...]
+</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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/3a565ccf.704debaf.js"></script>
+<script src="/zh/assets/js/3a565ccf.388fa90c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/discovery/nacos/index.html b/zh/docs/apisix/discovery/nacos/index.html
index 84d4530..43f984d 100644
--- a/zh/docs/apisix/discovery/nacos/index.html
+++ b/zh/docs/apisix/discovery/nacos/index.html
@@ -16,25 +16,25 @@
 <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">nacos | 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/b3ea7b47.4c175412.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/b3ea7b47.4c175412.js"></script>
 </body>
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 8f4fa34..f9f26fe 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,12 +16,12 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/27858f29.8854e36b.js" as="script">
 </head>
@@ -63,12 +63,12 @@
 </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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/27858f29.8854e36b.js"></script>
 </body>
diff --git a/zh/docs/apisix/getting-started/index.html b/zh/docs/apisix/getting-started/index.html
index 774b3a8..82e4a4a 100644
--- a/zh/docs/apisix/getting-started/index.html
+++ b/zh/docs/apisix/getting-started/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">快速入门指南 | 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/1fb167aa.b09e6941.js" as="script">
+<link rel="preload" href="/zh/assets/js/1fb167aa.85cf6e91.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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-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">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="colo [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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-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">$ </span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="colo [...]
 <script src="/zh/assets/js/styles.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/1fb167aa.b09e6941.js"></script>
+<script src="/zh/assets/js/1fb167aa.85cf6e91.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/grpc-proxy/index.html b/zh/docs/apisix/grpc-proxy/index.html
index 57affa2..1584ae8 100644
--- a/zh/docs/apisix/grpc-proxy/index.html
+++ b/zh/docs/apisix/grpc-proxy/index.html
@@ -16,25 +16,25 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/9d3eab9b.d5a7fce3.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/9d3eab9b.d5a7fce3.js"></script>
 </body>
diff --git a/zh/docs/apisix/health-check/index.html b/zh/docs/apisix/health-check/index.html
index 071a499..e37039b 100644
--- a/zh/docs/apisix/health-check/index.html
+++ b/zh/docs/apisix/health-check/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">健康检查 | 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/3a16219a.55f28721.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 被配置但没有被请求,那么就不会有健康检查。</li><li>如果没有健康的节点,那么请求会继续发送给上游。</li><li>如果 upstream 中只有一个节点,就不会有健康检查。
 因为该唯一节点无论是否健康,请求都会发送给上游,</li></ul><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 clas [...]
 <script src="/zh/assets/js/styles.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/3a16219a.55f28721.js"></script>
 </body>
diff --git a/zh/docs/apisix/how-to-build/index.html b/zh/docs/apisix/how-to-build/index.html
index 3c869a8..73e9f42 100644
--- a/zh/docs/apisix/how-to-build/index.html
+++ b/zh/docs/apisix/how-to-build/index.html
@@ -16,19 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">如何构建 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/320d67fa.f5394665.js" as="script">
+<link rel="preload" href="/zh/assets/js/320d67fa.8cdb915b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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"># 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 [...]
@@ -36,15 +35,15 @@
 确保将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  [...]
+构建 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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/320d67fa.f5394665.js"></script>
+<script src="/zh/assets/js/320d67fa.8cdb915b.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/https/index.html b/zh/docs/apisix/https/index.html
index dd879e0..61bc6b0 100644
--- a/zh/docs/apisix/https/index.html
+++ b/zh/docs/apisix/https/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/163910ed.05c8e71d.js" as="script">
+<link rel="preload" href="/zh/assets/js/163910ed.9871618d.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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">
@@ -37,15 +37,15 @@
 </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 [...]
-的密钥交换算法,那么你可以将额外的证书和私钥(第一张证书和其私钥依然使用 <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 [...]
+的密钥交换算法,那么你可以将额外的证书和私钥(第一张证书和其私钥依然使用 <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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/163910ed.05c8e71d.js"></script>
+<script src="/zh/assets/js/163910ed.9871618d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/install-dependencies/index.html b/zh/docs/apisix/install-dependencies/index.html
index bb7e957..b2fb390 100644
--- a/zh/docs/apisix/install-dependencies/index.html
+++ b/zh/docs/apisix/install-dependencies/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">安装依赖 | 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/755c8723.9f0c60ed.js" as="script">
+<link rel="preload" href="/zh/assets/js/755c8723.3bf0bebe.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
@@ -46,15 +46,15 @@
 </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">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=" [...]
+</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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/755c8723.9f0c60ed.js"></script>
+<script src="/zh/assets/js/755c8723.3bf0bebe.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/mtls/index.html b/zh/docs/apisix/mtls/index.html
index cb31aec..912e243 100644
--- a/zh/docs/apisix/mtls/index.html
+++ b/zh/docs/apisix/mtls/index.html
@@ -16,12 +16,12 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/c07a8fa6.3de6862e.js" as="script">
 </head>
@@ -30,12 +30,12 @@
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/c07a8fa6.3de6862e.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugin-develop/index.html b/zh/docs/apisix/plugin-develop/index.html
index ef4420e..00f4af1 100644
--- a/zh/docs/apisix/plugin-develop/index.html
+++ b/zh/docs/apisix/plugin-develop/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">插件开发 | 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/e25b82d9.5fb26cdf.js" as="script">
+<link rel="preload" href="/zh/assets/js/e25b82d9.334e30dc.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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" 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 [...]
@@ -47,15 +47,15 @@
 </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" 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 [...]
+</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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/e25b82d9.5fb26cdf.js"></script>
+<script src="/zh/assets/js/e25b82d9.334e30dc.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/plugin-interceptors/index.html b/zh/docs/apisix/plugin-interceptors/index.html
index 639cc0c..0d8f2db 100644
--- a/zh/docs/apisix/plugin-interceptors/index.html
+++ b/zh/docs/apisix/plugin-interceptors/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">插件拦截器 | 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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/0e9e839b.4dc4fc41.js" as="script">
+<link rel="preload" href="/zh/assets/js/0e9e839b.4a5ba5f3.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/0e9e839b.4dc4fc41.js"></script>
+<script src="/zh/assets/js/0e9e839b.4a5ba5f3.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/plugins/api-breaker/index.html b/zh/docs/apisix/plugins/api-breaker/index.html
index d88a3a0..41d7170 100644
--- a/zh/docs/apisix/plugins/api-breaker/index.html
+++ b/zh/docs/apisix/plugins/api-breaker/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">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/27c14716.6d1f867b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/27c14716.6d1f867b.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/authz-keycloak/index.html b/zh/docs/apisix/plugins/authz-keycloak/index.html
index 20861a7..29b5979 100644
--- a/zh/docs/apisix/plugins/authz-keycloak/index.html
+++ b/zh/docs/apisix/plugins/authz-keycloak/index.html
@@ -16,25 +16,25 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/342a6d70.07007561.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/342a6d70.07007561.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/basic-auth/index.html b/zh/docs/apisix/plugins/basic-auth/index.html
index f3549ff..21bde5b 100644
--- a/zh/docs/apisix/plugins/basic-auth/index.html
+++ b/zh/docs/apisix/plugins/basic-auth/index.html
@@ -16,25 +16,25 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/86151fad.8ef372bb.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/86151fad.8ef372bb.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/batch-requests/index.html b/zh/docs/apisix/plugins/batch-requests/index.html
index a2c5f93..703bb6e 100644
--- a/zh/docs/apisix/plugins/batch-requests/index.html
+++ b/zh/docs/apisix/plugins/batch-requests/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">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
-<link rel="preload" href="/zh/assets/js/6a0e174f.bc8f855a.js" as="script">
+<link rel="preload" href="/zh/assets/js/6a0e174f.73b14d30.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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  [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
-<script src="/zh/assets/js/6a0e174f.bc8f855a.js"></script>
+<script src="/zh/assets/js/6a0e174f.73b14d30.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/zh/docs/apisix/plugins/consumer-restriction/index.html b/zh/docs/apisix/plugins/consumer-restriction/index.html
index 1c7e9f9..c86818c 100644
--- a/zh/docs/apisix/plugins/consumer-restriction/index.html
+++ b/zh/docs/apisix/plugins/consumer-restriction/index.html
@@ -16,28 +16,28 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/76e7d0f9.2f7f528c.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
 <script src="/zh/assets/js/styles.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/76e7d0f9.2f7f528c.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/cors/index.html b/zh/docs/apisix/plugins/cors/index.html
index b297663..dd5dfcb 100644
--- a/zh/docs/apisix/plugins/cors/index.html
+++ b/zh/docs/apisix/plugins/cors/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">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/8cc2e0eb.f1d3b64b.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/8cc2e0eb.f1d3b64b.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/dubbo-proxy/index.html b/zh/docs/apisix/plugins/dubbo-proxy/index.html
index 7a9ccaf..1a71e70 100644
--- a/zh/docs/apisix/plugins/dubbo-proxy/index.html
+++ b/zh/docs/apisix/plugins/dubbo-proxy/index.html
@@ -16,29 +16,29 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/8cf41c7e.62d0c07a.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/8cf41c7e.62d0c07a.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/echo/index.html b/zh/docs/apisix/plugins/echo/index.html
index 877843c..ffcd198 100644
--- a/zh/docs/apisix/plugins/echo/index.html
+++ b/zh/docs/apisix/plugins/echo/index.html
@@ -16,25 +16,25 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/d3236fe2.75e7df74.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/d3236fe2.75e7df74.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/error-log-logger/index.html b/zh/docs/apisix/plugins/error-log-logger/index.html
index 62df968..400b323 100644
--- a/zh/docs/apisix/plugins/error-log-logger/index.html
+++ b/zh/docs/apisix/plugins/error-log-logger/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">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/06c82324.46c48709.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/06c82324.46c48709.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/fault-injection/index.html b/zh/docs/apisix/plugins/fault-injection/index.html
index 0499b3e..27eeaa5 100644
--- a/zh/docs/apisix/plugins/fault-injection/index.html
+++ b/zh/docs/apisix/plugins/fault-injection/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/f35343e1.83163f17.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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  [...]
@@ -49,12 +49,12 @@
 </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" 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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/f35343e1.83163f17.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/grpc-transcode/index.html b/zh/docs/apisix/plugins/grpc-transcode/index.html
index fffa2ae..6762141 100644
--- a/zh/docs/apisix/plugins/grpc-transcode/index.html
+++ b/zh/docs/apisix/plugins/grpc-transcode/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">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/0b8428f5.f6988bd1.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/0b8428f5.f6988bd1.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/hmac-auth/index.html b/zh/docs/apisix/plugins/hmac-auth/index.html
index 85eca4d..d0414b3 100644
--- a/zh/docs/apisix/plugins/hmac-auth/index.html
+++ b/zh/docs/apisix/plugins/hmac-auth/index.html
@@ -16,18 +16,18 @@
 <link rel="alternate" type="application/atom+xml" href="/zh/events/atom.xml" title="Apache APISIX™ Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/d4f121db.cf5d20a6.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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 [...]
@@ -36,12 +36,12 @@
 </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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/d4f121db.cf5d20a6.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/http-logger/index.html b/zh/docs/apisix/plugins/http-logger/index.html
index b05cd76..bb9f8ae 100644
--- a/zh/docs/apisix/plugins/http-logger/index.html
+++ b/zh/docs/apisix/plugins/http-logger/index.html
@@ -16,25 +16,25 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/f5c513a5.33312aef.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="current [...]
+<nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/f5c513a5.33312aef.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/index.html b/zh/docs/apisix/plugins/index.html
index 140cd7e..2d266e9 100644
--- a/zh/docs/apisix/plugins/index.html
+++ b/zh/docs/apisix/plugins/index.html
@@ -16,12 +16,12 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/15a0356b.fde7ae96.js" as="script">
 </head>
@@ -30,12 +30,12 @@
 <nav aria-label="Skip navigation links"><button type="button" tabindex="0" class="skipToContent_1oUP">Skip to main content</button></nav><nav class="navbar navbar--fixed-top navbarHideable_2qcr navbarHidden_3yey"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="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.1122c390.js"></script>
-<script src="/zh/assets/js/runtime~main.61ad33ca.js"></script>
-<script src="/zh/assets/js/main.ad1f99cc.js"></script>
+<script src="/zh/assets/js/runtime~main.4050c260.js"></script>
+<script src="/zh/assets/js/main.e17e0006.js"></script>
 <script src="/zh/assets/js/1.8ab37bf2.js"></script>
 <script src="/zh/assets/js/2.f6d304f2.js"></script>
 <script src="/zh/assets/js/1be78505.d8a2339c.js"></script>
-<script src="/zh/assets/js/d73fca9b.42f9daf3.js"></script>
+<script src="/zh/assets/js/d73fca9b.6403a5a7.js"></script>
 <script src="/zh/assets/js/17896441.979710d4.js"></script>
 <script src="/zh/assets/js/15a0356b.fde7ae96.js"></script>
 </body>
diff --git a/zh/docs/apisix/plugins/ip-restriction/index.html b/zh/docs/apisix/plugins/ip-restriction/index.html
index abce5b2..2482967 100644
--- a/zh/docs/apisix/plugins/ip-restriction/index.html
+++ b/zh/docs/apisix/plugins/ip-restriction/index.html
@@ -16,25 +16,25 @@
 <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.1122c390.js" as="script">
-<link rel="preload" href="/zh/assets/js/runtime~main.61ad33ca.js" as="script">
-<link rel="preload" href="/zh/assets/js/main.ad1f99cc.js" as="script">
+<link rel="preload" href="/zh/assets/js/runtime~main.4050c260.js" as="script">
+<link rel="preload" href="/zh/assets/js/main.e17e0006.js" as="script">
 <link rel="preload" href="/zh/assets/js/1.8ab37bf2.js" as="script">
 <link rel="preload" href="/zh/assets/js/2.f6d304f2.js" as="script">
 <link rel="preload" href="/zh/assets/js/1be78505.d8a2339c.js" as="script">
-<link rel="preload" href="/zh/assets/js/d73fca9b.42f9daf3.js" as="script">
+<link rel="preload" href="/zh/assets/js/d73fca9b.6403a5a7.js" as="script">
 <link rel="preload" href="/zh/assets/js/17896441.979710d4.js" as="script">
 <link rel="preload" href="/zh/assets/js/04e190df.d3c0709c.js" as="script">
 </head>
... 3628 lines suppressed ...