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/10/06 13:43:23 UTC

[apisix-website] branch asf-site updated: deploy: 4726812dfabc2f858778cbfe620939fa44e12534

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 7704feb  deploy: 4726812dfabc2f858778cbfe620939fa44e12534
7704feb is described below

commit 7704febbfd1fb3941df678d3ec124ac7013f13ce
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Wed Oct 6 13:43:10 2021 +0000

    deploy: 4726812dfabc2f858778cbfe620939fa44e12534
---
 404.html                                           |  10 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../Apache-APISIX-Incubator-Journey/index.html     |  12 +-
 .../Apache-APISIX-Kubernetes-Ingress/index.html    |  12 +-
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../Speed-Limiting-With-Apache-APISIX/index.html   |  12 +-
 .../index.html                                     |  12 +-
 articles/The-Appeal-of-OpenSource/index.html       |  12 +-
 articles/The-Evolution-of-Apache-APISIX/index.html |  12 +-
 .../index.html                                     |  12 +-
 articles/archive/index.html                        |  10 +-
 articles/atom.xml                                  |   6 +-
 articles/index.html                                |  12 +-
 articles/page/2/index.html                         |  12 +-
 articles/rss.xml                                   |   6 +-
 assets/css/styles.28b243d6.css                     |   1 -
 assets/css/styles.921c0944.css                     |   1 +
 assets/js/01a85c17.5a0c1bdd.js                     |   1 +
 assets/js/01a85c17.c7c5b309.js                     |   1 -
 .../{09b17eb5.05ac2ae9.js => 09b17eb5.5c714323.js} |   2 +-
 .../js/17896441.f240ed3e.js                        |   2 +-
 assets/js/19945770.b76cd215.js                     |   1 -
 assets/js/19945770.ccb32c2c.js                     |   1 +
 .../{3393d167.0599cdd5.js => 3393d167.cd00f3ae.js} |   2 +-
 .../{358566b4.72d385ea.js => 358566b4.6d212014.js} |   2 +-
 .../{3dc9f306.c1637ed2.js => 3dc9f306.089ce6bb.js} |   2 +-
 .../{40fb2fae.c66b77c7.js => 40fb2fae.8991d54d.js} |   2 +-
 .../{4c20006b.d5655f6e.js => 4c20006b.331d0874.js} |   2 +-
 .../{507e1a4c.c7ee8b4b.js => 507e1a4c.b5bef316.js} |   2 +-
 assets/js/50facf8e.2fdc1ca7.js                     |   1 -
 assets/js/50facf8e.84c78a31.js                     |   1 +
 .../{542fd41f.88c99d77.js => 542fd41f.7542030d.js} |   2 +-
 .../{601c6eaa.ceddf4f7.js => 601c6eaa.baff12e4.js} |   2 +-
 .../{66fbb9c2.e3107cde.js => 66fbb9c2.d47a8e5c.js} |   2 +-
 assets/js/6875c492.7d46aa29.js                     |   1 +
 assets/js/6875c492.8bebbb2b.js                     |   1 -
 assets/js/7af3052c.4170f1f0.js                     |   1 +
 assets/js/7af3052c.cea7d39a.js                     |   1 -
 .../{80791de8.7a8e38eb.js => 80791de8.ca22b5bf.js} |   2 +-
 assets/js/8e784bf3.b341d857.js                     |   1 +
 assets/js/8e784bf3.bc8c1985.js                     |   1 -
 assets/js/8eb4e46b.ceded086.js                     |   1 -
 .../{8f700fa6.d9165468.js => 8f700fa6.7b2e6885.js} |   2 +-
 .../{90fc8a94.056aa62c.js => 90fc8a94.e2ad4ada.js} |   2 +-
 .../{941960b1.7ab4a04b.js => 941960b1.ea225c57.js} |   2 +-
 assets/js/96546.54ed72be.js                        |   1 -
 assets/js/a6aa9e1f.972fafe2.js                     |   1 +
 assets/js/a6aa9e1f.f1526462.js                     |   1 -
 assets/js/adbb350b.1348e709.js                     |   1 +
 assets/js/adbb350b.22fcb674.js                     |   1 -
 assets/js/b2b675dd.b54778a8.js                     |   1 +
 assets/js/b2b675dd.d9df2444.js                     |   1 -
 assets/js/ccc49370.db6c8728.js                     |   1 -
 assets/js/ccc49370.f784fc25.js                     |   1 +
 .../{d18db9b0.993bfc59.js => d18db9b0.a4eb0f54.js} |   2 +-
 assets/js/main.2f93104d.js                         |   2 +
 .../js/main.2f93104d.js.LICENSE.txt                |   0
 assets/js/main.d3ffa863.js                         |   2 -
 assets/js/runtime~main.32ac036e.js                 |   1 +
 assets/js/runtime~main.59c34847.js                 |   1 -
 .../index.html                                     |  42 +++-
 .../21/run-ingress-apisix-on-amazon-eks/index.html |  61 ++++-
 .../index.html                                     |  43 +++-
 .../index.html                                     |  34 ++-
 .../index.html                                     |  28 ++-
 .../index.html                                     |  12 +-
 .../06/29/release-apache-apisix-2.7-en/index.html  |  12 +-
 .../07/06/celebrate-200-contributors/index.html    |  16 +-
 .../07/28/release-apache-apisix-2.8-en/index.html  |  59 ++++-
 .../index.html                                     |  12 +-
 .../index.html                                     |  16 +-
 .../index.html                                     |  51 +++-
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   | 123 ++++++++--
 .../08/27/release-apache-apisix-2.9-en/index.html  |  20 +-
 .../09/29/release-apache-apisix-2.10-en/index.html |  53 +++-
 blog/archive/index.html                            |  10 +-
 blog/index.html                                    |  12 +-
 blog/page/2/index.html                             |  28 ---
 blog/tags/community/index.html                     |  12 +-
 blog/tags/events/index.html                        |  12 +-
 blog/tags/index.html                               |  12 +-
 blog/tags/practical-case/index.html                |  12 +-
 blog/tags/release/index.html                       |  12 +-
 blog/tags/security/index.html                      |  12 +-
 blog/tags/technology/index.html                    |  12 +-
 docs/apisix/2.10.0/FAQ/index.html                  |  10 +-
 docs/apisix/2.10.0/IGNORE_DOC/index.html           |  10 +-
 docs/apisix/2.10.0/admin-api/index.html            |  10 +-
 .../2.10.0/architecture-design/apisix/index.html   |  10 +-
 .../2.10.0/architecture-design/consumer/index.html |  10 +-
 .../architecture-design/debug-mode/index.html      |  10 +-
 .../architecture-design/global-rule/index.html     |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.10.0/architecture-design/plugin/index.html   |  10 +-
 .../2.10.0/architecture-design/route/index.html    |  10 +-
 .../2.10.0/architecture-design/router/index.html   |  10 +-
 .../2.10.0/architecture-design/script/index.html   |  10 +-
 .../2.10.0/architecture-design/service/index.html  |  10 +-
 .../2.10.0/architecture-design/upstream/index.html |  10 +-
 docs/apisix/2.10.0/aws/index.html                  |  10 +-
 docs/apisix/2.10.0/batch-processor/index.html      |  10 +-
 docs/apisix/2.10.0/benchmark/index.html            |  10 +-
 docs/apisix/2.10.0/certificate/index.html          |  10 +-
 docs/apisix/2.10.0/control-api/index.html          |  10 +-
 .../customize-nginx-configuration/index.html       |  10 +-
 docs/apisix/2.10.0/debug-function/index.html       |  10 +-
 docs/apisix/2.10.0/discovery/consul_kv/index.html  |  10 +-
 docs/apisix/2.10.0/discovery/dns/index.html        |  10 +-
 docs/apisix/2.10.0/discovery/eureka/index.html     |  10 +-
 docs/apisix/2.10.0/discovery/index.html            |  10 +-
 docs/apisix/2.10.0/discovery/nacos/index.html      |  10 +-
 .../index.html                                     |  10 +-
 docs/apisix/2.10.0/external-plugin/index.html      |  10 +-
 docs/apisix/2.10.0/getting-started/index.html      |  10 +-
 docs/apisix/2.10.0/grpc-proxy/index.html           |  10 +-
 docs/apisix/2.10.0/health-check/index.html         |  10 +-
 docs/apisix/2.10.0/how-to-build/index.html         |  10 +-
 docs/apisix/2.10.0/install-dependencies/index.html |  10 +-
 .../2.10.0/internal/testing-framework/index.html   |  10 +-
 docs/apisix/2.10.0/mtls/index.html                 |  10 +-
 docs/apisix/2.10.0/plugin-develop/index.html       |  10 +-
 docs/apisix/2.10.0/plugin-interceptors/index.html  |  10 +-
 docs/apisix/2.10.0/plugins/api-breaker/index.html  |  10 +-
 docs/apisix/2.10.0/plugins/authz-casbin/index.html |  10 +-
 .../2.10.0/plugins/authz-keycloak/index.html       |  10 +-
 docs/apisix/2.10.0/plugins/basic-auth/index.html   |  10 +-
 .../2.10.0/plugins/batch-requests/index.html       |  10 +-
 .../2.10.0/plugins/client-control/index.html       |  10 +-
 .../2.10.0/plugins/consumer-restriction/index.html |  10 +-
 docs/apisix/2.10.0/plugins/cors/index.html         |  10 +-
 docs/apisix/2.10.0/plugins/dubbo-proxy/index.html  |  10 +-
 docs/apisix/2.10.0/plugins/echo/index.html         |  10 +-
 .../2.10.0/plugins/error-log-logger/index.html     |  10 +-
 .../2.10.0/plugins/ext-plugin-post-req/index.html  |  10 +-
 .../2.10.0/plugins/ext-plugin-pre-req/index.html   |  10 +-
 .../2.10.0/plugins/fault-injection/index.html      |  10 +-
 .../2.10.0/plugins/grpc-transcode/index.html       |  10 +-
 docs/apisix/2.10.0/plugins/gzip/index.html         |  10 +-
 docs/apisix/2.10.0/plugins/hmac-auth/index.html    |  10 +-
 docs/apisix/2.10.0/plugins/http-logger/index.html  |  10 +-
 .../2.10.0/plugins/ip-restriction/index.html       |  10 +-
 docs/apisix/2.10.0/plugins/jwt-auth/index.html     |  10 +-
 docs/apisix/2.10.0/plugins/kafka-logger/index.html |  10 +-
 docs/apisix/2.10.0/plugins/key-auth/index.html     |  10 +-
 docs/apisix/2.10.0/plugins/limit-conn/index.html   |  10 +-
 docs/apisix/2.10.0/plugins/limit-count/index.html  |  10 +-
 docs/apisix/2.10.0/plugins/limit-req/index.html    |  10 +-
 docs/apisix/2.10.0/plugins/log-rotate/index.html   |  10 +-
 docs/apisix/2.10.0/plugins/mqtt-proxy/index.html   |  10 +-
 docs/apisix/2.10.0/plugins/node-status/index.html  |  10 +-
 .../2.10.0/plugins/openid-connect/index.html       |  10 +-
 docs/apisix/2.10.0/plugins/prometheus/index.html   |  10 +-
 docs/apisix/2.10.0/plugins/proxy-cache/index.html  |  10 +-
 docs/apisix/2.10.0/plugins/proxy-mirror/index.html |  10 +-
 .../apisix/2.10.0/plugins/proxy-rewrite/index.html |  10 +-
 docs/apisix/2.10.0/plugins/real-ip/index.html      |  10 +-
 docs/apisix/2.10.0/plugins/redirect/index.html     |  10 +-
 .../2.10.0/plugins/referer-restriction/index.html  |  10 +-
 docs/apisix/2.10.0/plugins/request-id/index.html   |  10 +-
 .../2.10.0/plugins/request-validation/index.html   |  10 +-
 .../2.10.0/plugins/response-rewrite/index.html     |  10 +-
 docs/apisix/2.10.0/plugins/server-info/index.html  |  10 +-
 docs/apisix/2.10.0/plugins/serverless/index.html   |  10 +-
 docs/apisix/2.10.0/plugins/skywalking/index.html   |  10 +-
 docs/apisix/2.10.0/plugins/sls-logger/index.html   |  10 +-
 docs/apisix/2.10.0/plugins/syslog/index.html       |  10 +-
 docs/apisix/2.10.0/plugins/tcp-logger/index.html   |  10 +-
 .../apisix/2.10.0/plugins/traffic-split/index.html |  10 +-
 .../2.10.0/plugins/ua-restriction/index.html       |  10 +-
 docs/apisix/2.10.0/plugins/udp-logger/index.html   |  10 +-
 docs/apisix/2.10.0/plugins/uri-blocker/index.html  |  10 +-
 docs/apisix/2.10.0/plugins/wolf-rbac/index.html    |  10 +-
 docs/apisix/2.10.0/plugins/zipkin/index.html       |  10 +-
 docs/apisix/2.10.0/profile/index.html              |  10 +-
 docs/apisix/2.10.0/router-radixtree/index.html     |  10 +-
 docs/apisix/2.10.0/stand-alone/index.html          |  10 +-
 docs/apisix/2.10.0/stream-proxy/index.html         |  10 +-
 docs/apisix/2.10.0/tags/index.html                 |  10 +-
 docs/apisix/2.4/FAQ/index.html                     |  10 +-
 docs/apisix/2.4/IGNORE_DOC/index.html              |  10 +-
 docs/apisix/2.4/admin-api/index.html               |  10 +-
 .../2.4/architecture-design/apisix/index.html      |  10 +-
 .../2.4/architecture-design/consumer/index.html    |  10 +-
 .../2.4/architecture-design/debug-mode/index.html  |  10 +-
 .../2.4/architecture-design/global-rule/index.html |  10 +-
 docs/apisix/2.4/architecture-design/index.html     |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.4/architecture-design/plugin/index.html      |  10 +-
 .../2.4/architecture-design/route/index.html       |  10 +-
 .../2.4/architecture-design/router/index.html      |  10 +-
 .../2.4/architecture-design/script/index.html      |  10 +-
 .../2.4/architecture-design/service/index.html     |  10 +-
 .../2.4/architecture-design/upstream/index.html    |  10 +-
 docs/apisix/2.4/aws/index.html                     |  10 +-
 docs/apisix/2.4/batch-processor/index.html         |  10 +-
 docs/apisix/2.4/benchmark/index.html               |  10 +-
 docs/apisix/2.4/certificate/index.html             |  10 +-
 docs/apisix/2.4/control-api/index.html             |  10 +-
 .../2.4/customize-nginx-configuration/index.html   |  10 +-
 docs/apisix/2.4/debug-function/index.html          |  10 +-
 docs/apisix/2.4/discovery/consul_kv/index.html     |  10 +-
 docs/apisix/2.4/discovery/dns/index.html           |  10 +-
 docs/apisix/2.4/discovery/eureka/index.html        |  10 +-
 docs/apisix/2.4/discovery/index.html               |  10 +-
 docs/apisix/2.4/discovery/nacos/index.html         |  10 +-
 docs/apisix/2.4/dns/index.html                     |  10 +-
 .../index.html                                     |  10 +-
 docs/apisix/2.4/external-plugin/index.html         |  10 +-
 docs/apisix/2.4/getting-started/index.html         |  10 +-
 docs/apisix/2.4/grpc-proxy/index.html              |  10 +-
 docs/apisix/2.4/health-check/index.html            |  10 +-
 docs/apisix/2.4/how-to-build/index.html            |  10 +-
 docs/apisix/2.4/https/index.html                   |  10 +-
 docs/apisix/2.4/install-dependencies/index.html    |  10 +-
 .../2.4/internal/testing-framework/index.html      |  10 +-
 docs/apisix/2.4/mtls/index.html                    |  10 +-
 docs/apisix/2.4/plugin-develop/index.html          |  10 +-
 docs/apisix/2.4/plugin-interceptors/index.html     |  10 +-
 docs/apisix/2.4/plugins/api-breaker/index.html     |  10 +-
 docs/apisix/2.4/plugins/authz-casbin/index.html    |  10 +-
 docs/apisix/2.4/plugins/authz-keycloak/index.html  |  10 +-
 docs/apisix/2.4/plugins/basic-auth/index.html      |  10 +-
 docs/apisix/2.4/plugins/batch-requests/index.html  |  10 +-
 docs/apisix/2.4/plugins/client-control/index.html  |  10 +-
 .../2.4/plugins/consumer-restriction/index.html    |  10 +-
 docs/apisix/2.4/plugins/cors/index.html            |  10 +-
 docs/apisix/2.4/plugins/dubbo-proxy/index.html     |  10 +-
 docs/apisix/2.4/plugins/echo/index.html            |  10 +-
 .../apisix/2.4/plugins/error-log-logger/index.html |  10 +-
 .../2.4/plugins/ext-plugin-post-req/index.html     |  10 +-
 .../2.4/plugins/ext-plugin-pre-req/index.html      |  10 +-
 docs/apisix/2.4/plugins/fault-injection/index.html |  10 +-
 docs/apisix/2.4/plugins/grpc-transcode/index.html  |  10 +-
 docs/apisix/2.4/plugins/gzip/index.html            |  10 +-
 docs/apisix/2.4/plugins/hmac-auth/index.html       |  10 +-
 docs/apisix/2.4/plugins/http-logger/index.html     |  10 +-
 docs/apisix/2.4/plugins/index.html                 |  10 +-
 docs/apisix/2.4/plugins/ip-restriction/index.html  |  10 +-
 docs/apisix/2.4/plugins/jwt-auth/index.html        |  10 +-
 docs/apisix/2.4/plugins/kafka-logger/index.html    |  10 +-
 docs/apisix/2.4/plugins/key-auth/index.html        |  10 +-
 docs/apisix/2.4/plugins/limit-conn/index.html      |  10 +-
 docs/apisix/2.4/plugins/limit-count/index.html     |  10 +-
 docs/apisix/2.4/plugins/limit-req/index.html       |  10 +-
 docs/apisix/2.4/plugins/log-rotate/index.html      |  10 +-
 docs/apisix/2.4/plugins/mqtt-proxy/index.html      |  10 +-
 docs/apisix/2.4/plugins/node-status/index.html     |  10 +-
 docs/apisix/2.4/plugins/openid-connect/index.html  |  10 +-
 docs/apisix/2.4/plugins/prometheus/index.html      |  10 +-
 docs/apisix/2.4/plugins/proxy-cache/index.html     |  10 +-
 docs/apisix/2.4/plugins/proxy-mirror/index.html    |  10 +-
 docs/apisix/2.4/plugins/proxy-rewrite/index.html   |  10 +-
 docs/apisix/2.4/plugins/real-ip/index.html         |  10 +-
 docs/apisix/2.4/plugins/redirect/index.html        |  10 +-
 .../2.4/plugins/referer-restriction/index.html     |  10 +-
 docs/apisix/2.4/plugins/request-id/index.html      |  10 +-
 .../2.4/plugins/request-validation/index.html      |  10 +-
 .../apisix/2.4/plugins/response-rewrite/index.html |  10 +-
 docs/apisix/2.4/plugins/server-info/index.html     |  10 +-
 docs/apisix/2.4/plugins/serverless/index.html      |  10 +-
 docs/apisix/2.4/plugins/skywalking/index.html      |  10 +-
 docs/apisix/2.4/plugins/sls-logger/index.html      |  10 +-
 docs/apisix/2.4/plugins/syslog/index.html          |  10 +-
 docs/apisix/2.4/plugins/tcp-logger/index.html      |  10 +-
 docs/apisix/2.4/plugins/traffic-split/index.html   |  10 +-
 docs/apisix/2.4/plugins/ua-restriction/index.html  |  10 +-
 docs/apisix/2.4/plugins/udp-logger/index.html      |  10 +-
 docs/apisix/2.4/plugins/uri-blocker/index.html     |  10 +-
 docs/apisix/2.4/plugins/wolf-rbac/index.html       |  10 +-
 docs/apisix/2.4/plugins/zipkin/index.html          |  10 +-
 docs/apisix/2.4/powered-by/index.html              |  10 +-
 docs/apisix/2.4/profile/index.html                 |  10 +-
 docs/apisix/2.4/router-radixtree/index.html        |  10 +-
 docs/apisix/2.4/stand-alone/index.html             |  10 +-
 docs/apisix/2.4/stream-proxy/index.html            |  10 +-
 docs/apisix/2.4/tags/index.html                    |  10 +-
 docs/apisix/2.5/FAQ/index.html                     |  10 +-
 docs/apisix/2.5/IGNORE_DOC/index.html              |  10 +-
 docs/apisix/2.5/admin-api/index.html               |  10 +-
 .../2.5/architecture-design/apisix/index.html      |  10 +-
 .../2.5/architecture-design/consumer/index.html    |  10 +-
 .../2.5/architecture-design/debug-mode/index.html  |  10 +-
 .../2.5/architecture-design/global-rule/index.html |  10 +-
 docs/apisix/2.5/architecture-design/index.html     |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.5/architecture-design/plugin/index.html      |  10 +-
 .../2.5/architecture-design/route/index.html       |  10 +-
 .../2.5/architecture-design/router/index.html      |  10 +-
 .../2.5/architecture-design/script/index.html      |  10 +-
 .../2.5/architecture-design/service/index.html     |  10 +-
 .../2.5/architecture-design/upstream/index.html    |  10 +-
 docs/apisix/2.5/aws/index.html                     |  10 +-
 docs/apisix/2.5/batch-processor/index.html         |  10 +-
 docs/apisix/2.5/benchmark/index.html               |  10 +-
 docs/apisix/2.5/certificate/index.html             |  10 +-
 docs/apisix/2.5/control-api/index.html             |  10 +-
 .../2.5/customize-nginx-configuration/index.html   |  10 +-
 docs/apisix/2.5/debug-function/index.html          |  10 +-
 docs/apisix/2.5/discovery/consul_kv/index.html     |  10 +-
 docs/apisix/2.5/discovery/dns/index.html           |  10 +-
 docs/apisix/2.5/discovery/eureka/index.html        |  10 +-
 docs/apisix/2.5/discovery/index.html               |  10 +-
 docs/apisix/2.5/discovery/nacos/index.html         |  10 +-
 docs/apisix/2.5/dns/index.html                     |  10 +-
 .../index.html                                     |  10 +-
 docs/apisix/2.5/external-plugin/index.html         |  10 +-
 docs/apisix/2.5/getting-started/index.html         |  10 +-
 docs/apisix/2.5/grpc-proxy/index.html              |  10 +-
 docs/apisix/2.5/health-check/index.html            |  10 +-
 docs/apisix/2.5/how-to-build/index.html            |  10 +-
 docs/apisix/2.5/https/index.html                   |  10 +-
 docs/apisix/2.5/install-dependencies/index.html    |  10 +-
 .../2.5/internal/testing-framework/index.html      |  10 +-
 docs/apisix/2.5/mtls/index.html                    |  10 +-
 docs/apisix/2.5/plugin-develop/index.html          |  10 +-
 docs/apisix/2.5/plugin-interceptors/index.html     |  10 +-
 docs/apisix/2.5/plugins/api-breaker/index.html     |  10 +-
 docs/apisix/2.5/plugins/authz-casbin/index.html    |  10 +-
 docs/apisix/2.5/plugins/authz-keycloak/index.html  |  10 +-
 docs/apisix/2.5/plugins/basic-auth/index.html      |  10 +-
 docs/apisix/2.5/plugins/batch-requests/index.html  |  10 +-
 docs/apisix/2.5/plugins/client-control/index.html  |  10 +-
 .../2.5/plugins/consumer-restriction/index.html    |  10 +-
 docs/apisix/2.5/plugins/cors/index.html            |  10 +-
 docs/apisix/2.5/plugins/dubbo-proxy/index.html     |  10 +-
 docs/apisix/2.5/plugins/echo/index.html            |  10 +-
 .../apisix/2.5/plugins/error-log-logger/index.html |  10 +-
 .../2.5/plugins/ext-plugin-post-req/index.html     |  10 +-
 .../2.5/plugins/ext-plugin-pre-req/index.html      |  10 +-
 docs/apisix/2.5/plugins/fault-injection/index.html |  10 +-
 docs/apisix/2.5/plugins/grpc-transcode/index.html  |  10 +-
 docs/apisix/2.5/plugins/gzip/index.html            |  10 +-
 docs/apisix/2.5/plugins/hmac-auth/index.html       |  10 +-
 docs/apisix/2.5/plugins/http-logger/index.html     |  10 +-
 docs/apisix/2.5/plugins/index.html                 |  10 +-
 docs/apisix/2.5/plugins/ip-restriction/index.html  |  10 +-
 docs/apisix/2.5/plugins/jwt-auth/index.html        |  10 +-
 docs/apisix/2.5/plugins/kafka-logger/index.html    |  10 +-
 docs/apisix/2.5/plugins/key-auth/index.html        |  10 +-
 docs/apisix/2.5/plugins/limit-conn/index.html      |  10 +-
 docs/apisix/2.5/plugins/limit-count/index.html     |  10 +-
 docs/apisix/2.5/plugins/limit-req/index.html       |  10 +-
 docs/apisix/2.5/plugins/log-rotate/index.html      |  10 +-
 docs/apisix/2.5/plugins/mqtt-proxy/index.html      |  10 +-
 docs/apisix/2.5/plugins/node-status/index.html     |  10 +-
 docs/apisix/2.5/plugins/openid-connect/index.html  |  10 +-
 docs/apisix/2.5/plugins/prometheus/index.html      |  10 +-
 docs/apisix/2.5/plugins/proxy-cache/index.html     |  10 +-
 docs/apisix/2.5/plugins/proxy-mirror/index.html    |  10 +-
 docs/apisix/2.5/plugins/proxy-rewrite/index.html   |  10 +-
 docs/apisix/2.5/plugins/real-ip/index.html         |  10 +-
 docs/apisix/2.5/plugins/redirect/index.html        |  10 +-
 .../2.5/plugins/referer-restriction/index.html     |  10 +-
 docs/apisix/2.5/plugins/request-id/index.html      |  10 +-
 .../2.5/plugins/request-validation/index.html      |  10 +-
 .../apisix/2.5/plugins/response-rewrite/index.html |  10 +-
 docs/apisix/2.5/plugins/server-info/index.html     |  10 +-
 docs/apisix/2.5/plugins/serverless/index.html      |  10 +-
 docs/apisix/2.5/plugins/skywalking/index.html      |  10 +-
 docs/apisix/2.5/plugins/sls-logger/index.html      |  10 +-
 docs/apisix/2.5/plugins/syslog/index.html          |  10 +-
 docs/apisix/2.5/plugins/tcp-logger/index.html      |  10 +-
 docs/apisix/2.5/plugins/traffic-split/index.html   |  10 +-
 docs/apisix/2.5/plugins/ua-restriction/index.html  |  10 +-
 docs/apisix/2.5/plugins/udp-logger/index.html      |  10 +-
 docs/apisix/2.5/plugins/uri-blocker/index.html     |  10 +-
 docs/apisix/2.5/plugins/wolf-rbac/index.html       |  10 +-
 docs/apisix/2.5/plugins/zipkin/index.html          |  10 +-
 docs/apisix/2.5/powered-by/index.html              |  10 +-
 docs/apisix/2.5/profile/index.html                 |  10 +-
 docs/apisix/2.5/router-radixtree/index.html        |  10 +-
 docs/apisix/2.5/stand-alone/index.html             |  10 +-
 docs/apisix/2.5/stream-proxy/index.html            |  10 +-
 docs/apisix/2.5/tags/index.html                    |  10 +-
 docs/apisix/2.6/FAQ/index.html                     |  10 +-
 docs/apisix/2.6/IGNORE_DOC/index.html              |  10 +-
 docs/apisix/2.6/admin-api/index.html               |  10 +-
 .../2.6/architecture-design/apisix/index.html      |  10 +-
 .../2.6/architecture-design/consumer/index.html    |  10 +-
 .../2.6/architecture-design/debug-mode/index.html  |  10 +-
 .../2.6/architecture-design/global-rule/index.html |  10 +-
 docs/apisix/2.6/architecture-design/index.html     |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.6/architecture-design/plugin/index.html      |  10 +-
 .../2.6/architecture-design/route/index.html       |  10 +-
 .../2.6/architecture-design/router/index.html      |  10 +-
 .../2.6/architecture-design/script/index.html      |  10 +-
 .../2.6/architecture-design/service/index.html     |  10 +-
 .../2.6/architecture-design/upstream/index.html    |  10 +-
 docs/apisix/2.6/aws/index.html                     |  10 +-
 docs/apisix/2.6/batch-processor/index.html         |  10 +-
 docs/apisix/2.6/benchmark/index.html               |  10 +-
 docs/apisix/2.6/certificate/index.html             |  10 +-
 docs/apisix/2.6/control-api/index.html             |  10 +-
 .../2.6/customize-nginx-configuration/index.html   |  10 +-
 docs/apisix/2.6/debug-function/index.html          |  10 +-
 docs/apisix/2.6/discovery/consul_kv/index.html     |  10 +-
 docs/apisix/2.6/discovery/dns/index.html           |  10 +-
 docs/apisix/2.6/discovery/eureka/index.html        |  10 +-
 docs/apisix/2.6/discovery/index.html               |  10 +-
 docs/apisix/2.6/discovery/nacos/index.html         |  10 +-
 docs/apisix/2.6/dns/index.html                     |  10 +-
 .../index.html                                     |  10 +-
 docs/apisix/2.6/external-plugin/index.html         |  10 +-
 docs/apisix/2.6/getting-started/index.html         |  10 +-
 docs/apisix/2.6/grpc-proxy/index.html              |  10 +-
 docs/apisix/2.6/health-check/index.html            |  10 +-
 docs/apisix/2.6/how-to-build/index.html            |  10 +-
 docs/apisix/2.6/https/index.html                   |  10 +-
 docs/apisix/2.6/install-dependencies/index.html    |  10 +-
 .../2.6/internal/testing-framework/index.html      |  10 +-
 docs/apisix/2.6/mtls/index.html                    |  10 +-
 docs/apisix/2.6/plugin-develop/index.html          |  10 +-
 docs/apisix/2.6/plugin-interceptors/index.html     |  10 +-
 docs/apisix/2.6/plugins/api-breaker/index.html     |  10 +-
 docs/apisix/2.6/plugins/authz-casbin/index.html    |  10 +-
 docs/apisix/2.6/plugins/authz-keycloak/index.html  |  10 +-
 docs/apisix/2.6/plugins/basic-auth/index.html      |  10 +-
 docs/apisix/2.6/plugins/batch-requests/index.html  |  10 +-
 docs/apisix/2.6/plugins/client-control/index.html  |  10 +-
 .../2.6/plugins/consumer-restriction/index.html    |  10 +-
 docs/apisix/2.6/plugins/cors/index.html            |  10 +-
 docs/apisix/2.6/plugins/dubbo-proxy/index.html     |  10 +-
 docs/apisix/2.6/plugins/echo/index.html            |  10 +-
 .../apisix/2.6/plugins/error-log-logger/index.html |  10 +-
 .../2.6/plugins/ext-plugin-post-req/index.html     |  10 +-
 .../2.6/plugins/ext-plugin-pre-req/index.html      |  10 +-
 docs/apisix/2.6/plugins/fault-injection/index.html |  10 +-
 docs/apisix/2.6/plugins/grpc-transcode/index.html  |  10 +-
 docs/apisix/2.6/plugins/gzip/index.html            |  10 +-
 docs/apisix/2.6/plugins/hmac-auth/index.html       |  10 +-
 docs/apisix/2.6/plugins/http-logger/index.html     |  10 +-
 docs/apisix/2.6/plugins/index.html                 |  10 +-
 docs/apisix/2.6/plugins/ip-restriction/index.html  |  10 +-
 docs/apisix/2.6/plugins/jwt-auth/index.html        |  10 +-
 docs/apisix/2.6/plugins/kafka-logger/index.html    |  10 +-
 docs/apisix/2.6/plugins/key-auth/index.html        |  10 +-
 docs/apisix/2.6/plugins/limit-conn/index.html      |  10 +-
 docs/apisix/2.6/plugins/limit-count/index.html     |  10 +-
 docs/apisix/2.6/plugins/limit-req/index.html       |  10 +-
 docs/apisix/2.6/plugins/log-rotate/index.html      |  10 +-
 docs/apisix/2.6/plugins/mqtt-proxy/index.html      |  10 +-
 docs/apisix/2.6/plugins/node-status/index.html     |  10 +-
 docs/apisix/2.6/plugins/openid-connect/index.html  |  10 +-
 docs/apisix/2.6/plugins/prometheus/index.html      |  10 +-
 docs/apisix/2.6/plugins/proxy-cache/index.html     |  10 +-
 docs/apisix/2.6/plugins/proxy-mirror/index.html    |  10 +-
 docs/apisix/2.6/plugins/proxy-rewrite/index.html   |  10 +-
 docs/apisix/2.6/plugins/real-ip/index.html         |  10 +-
 docs/apisix/2.6/plugins/redirect/index.html        |  10 +-
 .../2.6/plugins/referer-restriction/index.html     |  10 +-
 docs/apisix/2.6/plugins/request-id/index.html      |  10 +-
 .../2.6/plugins/request-validation/index.html      |  10 +-
 .../apisix/2.6/plugins/response-rewrite/index.html |  10 +-
 docs/apisix/2.6/plugins/server-info/index.html     |  10 +-
 docs/apisix/2.6/plugins/serverless/index.html      |  10 +-
 docs/apisix/2.6/plugins/skywalking/index.html      |  10 +-
 docs/apisix/2.6/plugins/sls-logger/index.html      |  10 +-
 docs/apisix/2.6/plugins/syslog/index.html          |  10 +-
 docs/apisix/2.6/plugins/tcp-logger/index.html      |  10 +-
 docs/apisix/2.6/plugins/traffic-split/index.html   |  10 +-
 docs/apisix/2.6/plugins/ua-restriction/index.html  |  10 +-
 docs/apisix/2.6/plugins/udp-logger/index.html      |  10 +-
 docs/apisix/2.6/plugins/uri-blocker/index.html     |  10 +-
 docs/apisix/2.6/plugins/wolf-rbac/index.html       |  10 +-
 docs/apisix/2.6/plugins/zipkin/index.html          |  10 +-
 docs/apisix/2.6/powered-by/index.html              |  10 +-
 docs/apisix/2.6/profile/index.html                 |  10 +-
 docs/apisix/2.6/router-radixtree/index.html        |  10 +-
 docs/apisix/2.6/stand-alone/index.html             |  10 +-
 docs/apisix/2.6/stream-proxy/index.html            |  10 +-
 docs/apisix/2.6/tags/index.html                    |  10 +-
 docs/apisix/2.7/FAQ/index.html                     |  10 +-
 docs/apisix/2.7/IGNORE_DOC/index.html              |  10 +-
 docs/apisix/2.7/admin-api/index.html               |  10 +-
 .../2.7/architecture-design/apisix/index.html      |  10 +-
 .../2.7/architecture-design/consumer/index.html    |  10 +-
 .../2.7/architecture-design/debug-mode/index.html  |  10 +-
 .../2.7/architecture-design/global-rule/index.html |  10 +-
 docs/apisix/2.7/architecture-design/index.html     |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.7/architecture-design/plugin/index.html      |  10 +-
 .../2.7/architecture-design/route/index.html       |  10 +-
 .../2.7/architecture-design/router/index.html      |  10 +-
 .../2.7/architecture-design/script/index.html      |  10 +-
 .../2.7/architecture-design/service/index.html     |  10 +-
 .../2.7/architecture-design/upstream/index.html    |  10 +-
 docs/apisix/2.7/aws/index.html                     |  10 +-
 docs/apisix/2.7/batch-processor/index.html         |  10 +-
 docs/apisix/2.7/benchmark/index.html               |  10 +-
 docs/apisix/2.7/certificate/index.html             |  10 +-
 docs/apisix/2.7/control-api/index.html             |  10 +-
 .../2.7/customize-nginx-configuration/index.html   |  10 +-
 docs/apisix/2.7/debug-function/index.html          |  10 +-
 docs/apisix/2.7/discovery/consul_kv/index.html     |  10 +-
 docs/apisix/2.7/discovery/dns/index.html           |  10 +-
 docs/apisix/2.7/discovery/eureka/index.html        |  10 +-
 docs/apisix/2.7/discovery/index.html               |  10 +-
 docs/apisix/2.7/discovery/nacos/index.html         |  10 +-
 docs/apisix/2.7/dns/index.html                     |  10 +-
 .../index.html                                     |  10 +-
 docs/apisix/2.7/external-plugin/index.html         |  10 +-
 docs/apisix/2.7/getting-started/index.html         |  10 +-
 docs/apisix/2.7/grpc-proxy/index.html              |  10 +-
 docs/apisix/2.7/health-check/index.html            |  10 +-
 docs/apisix/2.7/how-to-build/index.html            |  10 +-
 docs/apisix/2.7/https/index.html                   |  10 +-
 docs/apisix/2.7/install-dependencies/index.html    |  10 +-
 .../2.7/internal/testing-framework/index.html      |  10 +-
 docs/apisix/2.7/mtls/index.html                    |  10 +-
 docs/apisix/2.7/plugin-develop/index.html          |  10 +-
 docs/apisix/2.7/plugin-interceptors/index.html     |  10 +-
 docs/apisix/2.7/plugins/api-breaker/index.html     |  10 +-
 docs/apisix/2.7/plugins/authz-casbin/index.html    |  10 +-
 docs/apisix/2.7/plugins/authz-keycloak/index.html  |  10 +-
 docs/apisix/2.7/plugins/basic-auth/index.html      |  10 +-
 docs/apisix/2.7/plugins/batch-requests/index.html  |  10 +-
 docs/apisix/2.7/plugins/client-control/index.html  |  10 +-
 .../2.7/plugins/consumer-restriction/index.html    |  10 +-
 docs/apisix/2.7/plugins/cors/index.html            |  10 +-
 docs/apisix/2.7/plugins/dubbo-proxy/index.html     |  10 +-
 docs/apisix/2.7/plugins/echo/index.html            |  10 +-
 .../apisix/2.7/plugins/error-log-logger/index.html |  10 +-
 .../2.7/plugins/ext-plugin-post-req/index.html     |  10 +-
 .../2.7/plugins/ext-plugin-pre-req/index.html      |  10 +-
 docs/apisix/2.7/plugins/fault-injection/index.html |  10 +-
 docs/apisix/2.7/plugins/grpc-transcode/index.html  |  10 +-
 docs/apisix/2.7/plugins/gzip/index.html            |  10 +-
 docs/apisix/2.7/plugins/hmac-auth/index.html       |  10 +-
 docs/apisix/2.7/plugins/http-logger/index.html     |  10 +-
 docs/apisix/2.7/plugins/index.html                 |  10 +-
 docs/apisix/2.7/plugins/ip-restriction/index.html  |  10 +-
 docs/apisix/2.7/plugins/jwt-auth/index.html        |  10 +-
 docs/apisix/2.7/plugins/kafka-logger/index.html    |  10 +-
 docs/apisix/2.7/plugins/key-auth/index.html        |  10 +-
 docs/apisix/2.7/plugins/limit-conn/index.html      |  10 +-
 docs/apisix/2.7/plugins/limit-count/index.html     |  10 +-
 docs/apisix/2.7/plugins/limit-req/index.html       |  10 +-
 docs/apisix/2.7/plugins/log-rotate/index.html      |  10 +-
 docs/apisix/2.7/plugins/mqtt-proxy/index.html      |  10 +-
 docs/apisix/2.7/plugins/node-status/index.html     |  10 +-
 docs/apisix/2.7/plugins/openid-connect/index.html  |  10 +-
 docs/apisix/2.7/plugins/prometheus/index.html      |  10 +-
 docs/apisix/2.7/plugins/proxy-cache/index.html     |  10 +-
 docs/apisix/2.7/plugins/proxy-mirror/index.html    |  10 +-
 docs/apisix/2.7/plugins/proxy-rewrite/index.html   |  10 +-
 docs/apisix/2.7/plugins/real-ip/index.html         |  10 +-
 docs/apisix/2.7/plugins/redirect/index.html        |  10 +-
 .../2.7/plugins/referer-restriction/index.html     |  10 +-
 docs/apisix/2.7/plugins/request-id/index.html      |  10 +-
 .../2.7/plugins/request-validation/index.html      |  10 +-
 .../apisix/2.7/plugins/response-rewrite/index.html |  10 +-
 docs/apisix/2.7/plugins/server-info/index.html     |  10 +-
 docs/apisix/2.7/plugins/serverless/index.html      |  10 +-
 docs/apisix/2.7/plugins/skywalking/index.html      |  10 +-
 docs/apisix/2.7/plugins/sls-logger/index.html      |  10 +-
 docs/apisix/2.7/plugins/syslog/index.html          |  10 +-
 docs/apisix/2.7/plugins/tcp-logger/index.html      |  10 +-
 docs/apisix/2.7/plugins/traffic-split/index.html   |  10 +-
 docs/apisix/2.7/plugins/ua-restriction/index.html  |  10 +-
 docs/apisix/2.7/plugins/udp-logger/index.html      |  10 +-
 docs/apisix/2.7/plugins/uri-blocker/index.html     |  10 +-
 docs/apisix/2.7/plugins/wolf-rbac/index.html       |  10 +-
 docs/apisix/2.7/plugins/zipkin/index.html          |  10 +-
 docs/apisix/2.7/powered-by/index.html              |  10 +-
 docs/apisix/2.7/profile/index.html                 |  10 +-
 docs/apisix/2.7/router-radixtree/index.html        |  10 +-
 docs/apisix/2.7/stand-alone/index.html             |  10 +-
 docs/apisix/2.7/stream-proxy/index.html            |  10 +-
 docs/apisix/2.7/tags/index.html                    |  10 +-
 docs/apisix/2.8/FAQ/index.html                     |  10 +-
 docs/apisix/2.8/IGNORE_DOC/index.html              |  10 +-
 docs/apisix/2.8/admin-api/index.html               |  10 +-
 .../2.8/architecture-design/apisix/index.html      |  10 +-
 .../2.8/architecture-design/consumer/index.html    |  10 +-
 .../2.8/architecture-design/debug-mode/index.html  |  10 +-
 .../2.8/architecture-design/global-rule/index.html |  10 +-
 docs/apisix/2.8/architecture-design/index.html     |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.8/architecture-design/plugin/index.html      |  10 +-
 .../2.8/architecture-design/route/index.html       |  10 +-
 .../2.8/architecture-design/router/index.html      |  10 +-
 .../2.8/architecture-design/script/index.html      |  10 +-
 .../2.8/architecture-design/service/index.html     |  10 +-
 .../2.8/architecture-design/upstream/index.html    |  10 +-
 docs/apisix/2.8/aws/index.html                     |  10 +-
 docs/apisix/2.8/batch-processor/index.html         |  10 +-
 docs/apisix/2.8/benchmark/index.html               |  10 +-
 docs/apisix/2.8/certificate/index.html             |  10 +-
 docs/apisix/2.8/control-api/index.html             |  10 +-
 .../2.8/customize-nginx-configuration/index.html   |  10 +-
 docs/apisix/2.8/debug-function/index.html          |  10 +-
 docs/apisix/2.8/discovery/consul_kv/index.html     |  10 +-
 docs/apisix/2.8/discovery/dns/index.html           |  10 +-
 docs/apisix/2.8/discovery/eureka/index.html        |  10 +-
 docs/apisix/2.8/discovery/index.html               |  10 +-
 docs/apisix/2.8/discovery/nacos/index.html         |  10 +-
 docs/apisix/2.8/dns/index.html                     |  10 +-
 .../index.html                                     |  10 +-
 docs/apisix/2.8/external-plugin/index.html         |  10 +-
 docs/apisix/2.8/getting-started/index.html         |  10 +-
 docs/apisix/2.8/grpc-proxy/index.html              |  10 +-
 docs/apisix/2.8/health-check/index.html            |  10 +-
 docs/apisix/2.8/how-to-build/index.html            |  10 +-
 docs/apisix/2.8/https/index.html                   |  10 +-
 docs/apisix/2.8/install-dependencies/index.html    |  10 +-
 .../2.8/internal/testing-framework/index.html      |  10 +-
 docs/apisix/2.8/mtls/index.html                    |  10 +-
 docs/apisix/2.8/plugin-develop/index.html          |  10 +-
 docs/apisix/2.8/plugin-interceptors/index.html     |  10 +-
 docs/apisix/2.8/plugins/api-breaker/index.html     |  10 +-
 docs/apisix/2.8/plugins/authz-casbin/index.html    |  10 +-
 docs/apisix/2.8/plugins/authz-keycloak/index.html  |  10 +-
 docs/apisix/2.8/plugins/basic-auth/index.html      |  10 +-
 docs/apisix/2.8/plugins/batch-requests/index.html  |  10 +-
 docs/apisix/2.8/plugins/client-control/index.html  |  10 +-
 .../2.8/plugins/consumer-restriction/index.html    |  10 +-
 docs/apisix/2.8/plugins/cors/index.html            |  10 +-
 docs/apisix/2.8/plugins/dubbo-proxy/index.html     |  10 +-
 docs/apisix/2.8/plugins/echo/index.html            |  10 +-
 .../apisix/2.8/plugins/error-log-logger/index.html |  10 +-
 .../2.8/plugins/ext-plugin-post-req/index.html     |  10 +-
 .../2.8/plugins/ext-plugin-pre-req/index.html      |  10 +-
 docs/apisix/2.8/plugins/fault-injection/index.html |  10 +-
 docs/apisix/2.8/plugins/grpc-transcode/index.html  |  10 +-
 docs/apisix/2.8/plugins/gzip/index.html            |  10 +-
 docs/apisix/2.8/plugins/hmac-auth/index.html       |  10 +-
 docs/apisix/2.8/plugins/http-logger/index.html     |  10 +-
 docs/apisix/2.8/plugins/index.html                 |  10 +-
 docs/apisix/2.8/plugins/ip-restriction/index.html  |  10 +-
 docs/apisix/2.8/plugins/jwt-auth/index.html        |  10 +-
 docs/apisix/2.8/plugins/kafka-logger/index.html    |  10 +-
 docs/apisix/2.8/plugins/key-auth/index.html        |  10 +-
 docs/apisix/2.8/plugins/limit-conn/index.html      |  10 +-
 docs/apisix/2.8/plugins/limit-count/index.html     |  10 +-
 docs/apisix/2.8/plugins/limit-req/index.html       |  10 +-
 docs/apisix/2.8/plugins/log-rotate/index.html      |  10 +-
 docs/apisix/2.8/plugins/mqtt-proxy/index.html      |  10 +-
 docs/apisix/2.8/plugins/node-status/index.html     |  10 +-
 docs/apisix/2.8/plugins/openid-connect/index.html  |  10 +-
 docs/apisix/2.8/plugins/prometheus/index.html      |  10 +-
 docs/apisix/2.8/plugins/proxy-cache/index.html     |  10 +-
 docs/apisix/2.8/plugins/proxy-mirror/index.html    |  10 +-
 docs/apisix/2.8/plugins/proxy-rewrite/index.html   |  10 +-
 docs/apisix/2.8/plugins/real-ip/index.html         |  10 +-
 docs/apisix/2.8/plugins/redirect/index.html        |  10 +-
 .../2.8/plugins/referer-restriction/index.html     |  10 +-
 docs/apisix/2.8/plugins/request-id/index.html      |  10 +-
 .../2.8/plugins/request-validation/index.html      |  10 +-
 .../apisix/2.8/plugins/response-rewrite/index.html |  10 +-
 docs/apisix/2.8/plugins/server-info/index.html     |  10 +-
 docs/apisix/2.8/plugins/serverless/index.html      |  10 +-
 docs/apisix/2.8/plugins/skywalking/index.html      |  10 +-
 docs/apisix/2.8/plugins/sls-logger/index.html      |  10 +-
 docs/apisix/2.8/plugins/syslog/index.html          |  10 +-
 docs/apisix/2.8/plugins/tcp-logger/index.html      |  10 +-
 docs/apisix/2.8/plugins/traffic-split/index.html   |  10 +-
 docs/apisix/2.8/plugins/ua-restriction/index.html  |  10 +-
 docs/apisix/2.8/plugins/udp-logger/index.html      |  10 +-
 docs/apisix/2.8/plugins/uri-blocker/index.html     |  10 +-
 docs/apisix/2.8/plugins/wolf-rbac/index.html       |  10 +-
 docs/apisix/2.8/plugins/zipkin/index.html          |  10 +-
 docs/apisix/2.8/powered-by/index.html              |  10 +-
 docs/apisix/2.8/profile/index.html                 |  10 +-
 docs/apisix/2.8/router-radixtree/index.html        |  10 +-
 docs/apisix/2.8/stand-alone/index.html             |  10 +-
 docs/apisix/2.8/stream-proxy/index.html            |  10 +-
 docs/apisix/2.8/tags/index.html                    |  10 +-
 docs/apisix/FAQ/index.html                         |  10 +-
 docs/apisix/IGNORE_DOC/index.html                  |  10 +-
 docs/apisix/admin-api/index.html                   |  10 +-
 docs/apisix/architecture-design/apisix/index.html  |  10 +-
 .../apisix/architecture-design/consumer/index.html |  10 +-
 .../architecture-design/debug-mode/index.html      |  10 +-
 .../architecture-design/global-rule/index.html     |  10 +-
 docs/apisix/architecture-design/index.html         |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 docs/apisix/architecture-design/plugin/index.html  |  10 +-
 docs/apisix/architecture-design/route/index.html   |  10 +-
 docs/apisix/architecture-design/router/index.html  |  10 +-
 docs/apisix/architecture-design/script/index.html  |  10 +-
 docs/apisix/architecture-design/service/index.html |  10 +-
 .../apisix/architecture-design/upstream/index.html |  10 +-
 docs/apisix/aws/index.html                         |  10 +-
 docs/apisix/batch-processor/index.html             |  10 +-
 docs/apisix/benchmark/index.html                   |  10 +-
 docs/apisix/certificate/index.html                 |  10 +-
 docs/apisix/control-api/index.html                 |  10 +-
 .../customize-nginx-configuration/index.html       |  10 +-
 docs/apisix/debug-function/index.html              |  10 +-
 docs/apisix/discovery/consul_kv/index.html         |  10 +-
 docs/apisix/discovery/dns/index.html               |  10 +-
 docs/apisix/discovery/eureka/index.html            |  10 +-
 docs/apisix/discovery/index.html                   |  10 +-
 docs/apisix/discovery/nacos/index.html             |  10 +-
 docs/apisix/dns/index.html                         |  10 +-
 .../index.html                                     |  10 +-
 docs/apisix/external-plugin/index.html             |  10 +-
 docs/apisix/getting-started/index.html             |  10 +-
 docs/apisix/grpc-proxy/index.html                  |  10 +-
 docs/apisix/health-check/index.html                |  10 +-
 docs/apisix/how-to-build/index.html                |  10 +-
 docs/apisix/https/index.html                       |  10 +-
 docs/apisix/install-dependencies/index.html        |  10 +-
 docs/apisix/internal/testing-framework/index.html  |  10 +-
 docs/apisix/mtls/index.html                        |  10 +-
 docs/apisix/next/FAQ/index.html                    |  10 +-
 docs/apisix/next/IGNORE_DOC/index.html             |  12 +-
 docs/apisix/next/admin-api/index.html              |  10 +-
 .../next/architecture-design/apisix/index.html     |  10 +-
 .../next/architecture-design/consumer/index.html   |  10 +-
 .../next/architecture-design/debug-mode/index.html |  10 +-
 .../architecture-design/global-rule/index.html     |  10 +-
 docs/apisix/next/architecture-design/index.html    |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../next/architecture-design/plugin/index.html     |  10 +-
 .../next/architecture-design/route/index.html      |  10 +-
 .../next/architecture-design/router/index.html     |  10 +-
 .../next/architecture-design/script/index.html     |  10 +-
 .../next/architecture-design/service/index.html    |  10 +-
 .../next/architecture-design/upstream/index.html   |  10 +-
 docs/apisix/next/aws/index.html                    |  10 +-
 docs/apisix/next/batch-processor/index.html        |  10 +-
 docs/apisix/next/benchmark/index.html              |  10 +-
 docs/apisix/next/certificate/index.html            |  10 +-
 docs/apisix/next/control-api/index.html            |  10 +-
 .../next/customize-nginx-configuration/index.html  |  10 +-
 docs/apisix/next/debug-function/index.html         |  10 +-
 docs/apisix/next/discovery/consul_kv/index.html    |  10 +-
 docs/apisix/next/discovery/dns/index.html          |  10 +-
 docs/apisix/next/discovery/eureka/index.html       |  10 +-
 docs/apisix/next/discovery/index.html              |  10 +-
 docs/apisix/next/discovery/nacos/index.html        |  10 +-
 docs/apisix/next/dns/index.html                    |  10 +-
 .../index.html                                     |  10 +-
 docs/apisix/next/external-plugin/index.html        |  10 +-
 docs/apisix/next/getting-started/index.html        |  10 +-
 docs/apisix/next/grpc-proxy/index.html             |  10 +-
 docs/apisix/next/health-check/index.html           |  10 +-
 docs/apisix/next/how-to-build/index.html           |  10 +-
 docs/apisix/next/https/index.html                  |  10 +-
 docs/apisix/next/install-dependencies/index.html   |  10 +-
 .../next/internal/testing-framework/index.html     |  10 +-
 docs/apisix/next/mtls/index.html                   |  10 +-
 docs/apisix/next/plugin-develop/index.html         |  10 +-
 docs/apisix/next/plugin-interceptors/index.html    |  10 +-
 docs/apisix/next/plugins/api-breaker/index.html    |  10 +-
 docs/apisix/next/plugins/authz-casbin/index.html   |  10 +-
 docs/apisix/next/plugins/authz-keycloak/index.html |  10 +-
 docs/apisix/next/plugins/basic-auth/index.html     |  10 +-
 docs/apisix/next/plugins/batch-requests/index.html |  10 +-
 docs/apisix/next/plugins/client-control/index.html |  10 +-
 .../next/plugins/consumer-restriction/index.html   |  10 +-
 docs/apisix/next/plugins/cors/index.html           |  10 +-
 docs/apisix/next/plugins/dubbo-proxy/index.html    |  10 +-
 docs/apisix/next/plugins/echo/index.html           |  10 +-
 .../next/plugins/error-log-logger/index.html       |  10 +-
 .../next/plugins/ext-plugin-post-req/index.html    |  10 +-
 .../next/plugins/ext-plugin-pre-req/index.html     |  10 +-
 .../apisix/next/plugins/fault-injection/index.html |  10 +-
 docs/apisix/next/plugins/grpc-transcode/index.html |  10 +-
 docs/apisix/next/plugins/gzip/index.html           |  10 +-
 docs/apisix/next/plugins/hmac-auth/index.html      |  10 +-
 docs/apisix/next/plugins/http-logger/index.html    |  10 +-
 docs/apisix/next/plugins/index.html                |  10 +-
 docs/apisix/next/plugins/ip-restriction/index.html |  10 +-
 docs/apisix/next/plugins/jwt-auth/index.html       |  10 +-
 docs/apisix/next/plugins/kafka-logger/index.html   |  10 +-
 docs/apisix/next/plugins/key-auth/index.html       |  10 +-
 docs/apisix/next/plugins/limit-conn/index.html     |  10 +-
 docs/apisix/next/plugins/limit-count/index.html    |  10 +-
 docs/apisix/next/plugins/limit-req/index.html      |  10 +-
 docs/apisix/next/plugins/log-rotate/index.html     |  10 +-
 docs/apisix/next/plugins/mqtt-proxy/index.html     |  10 +-
 docs/apisix/next/plugins/node-status/index.html    |  10 +-
 docs/apisix/next/plugins/openid-connect/index.html |  10 +-
 docs/apisix/next/plugins/prometheus/index.html     |  10 +-
 docs/apisix/next/plugins/proxy-cache/index.html    |  10 +-
 docs/apisix/next/plugins/proxy-mirror/index.html   |  10 +-
 docs/apisix/next/plugins/proxy-rewrite/index.html  |  10 +-
 docs/apisix/next/plugins/real-ip/index.html        |  10 +-
 docs/apisix/next/plugins/redirect/index.html       |  10 +-
 .../next/plugins/referer-restriction/index.html    |  10 +-
 docs/apisix/next/plugins/request-id/index.html     |  10 +-
 .../next/plugins/request-validation/index.html     |  10 +-
 .../next/plugins/response-rewrite/index.html       |  10 +-
 docs/apisix/next/plugins/server-info/index.html    |  10 +-
 docs/apisix/next/plugins/serverless/index.html     |  10 +-
 docs/apisix/next/plugins/skywalking/index.html     |  10 +-
 docs/apisix/next/plugins/sls-logger/index.html     |  10 +-
 docs/apisix/next/plugins/syslog/index.html         |  10 +-
 docs/apisix/next/plugins/tcp-logger/index.html     |  10 +-
 docs/apisix/next/plugins/traffic-split/index.html  |  10 +-
 docs/apisix/next/plugins/ua-restriction/index.html |  10 +-
 docs/apisix/next/plugins/udp-logger/index.html     |  10 +-
 docs/apisix/next/plugins/uri-blocker/index.html    |  10 +-
 docs/apisix/next/plugins/wolf-rbac/index.html      |  10 +-
 docs/apisix/next/plugins/zipkin/index.html         |  10 +-
 docs/apisix/next/powered-by/index.html             |  10 +-
 docs/apisix/next/profile/index.html                |  10 +-
 docs/apisix/next/router-radixtree/index.html       |  10 +-
 docs/apisix/next/stand-alone/index.html            |  10 +-
 docs/apisix/next/stream-proxy/index.html           |  10 +-
 docs/apisix/next/tags/index.html                   |  10 +-
 docs/apisix/plugin-develop/index.html              |  10 +-
 docs/apisix/plugin-interceptors/index.html         |  10 +-
 docs/apisix/plugins/api-breaker/index.html         |  10 +-
 docs/apisix/plugins/authz-casbin/index.html        |  10 +-
 docs/apisix/plugins/authz-keycloak/index.html      |  10 +-
 docs/apisix/plugins/basic-auth/index.html          |  10 +-
 docs/apisix/plugins/batch-requests/index.html      |  10 +-
 docs/apisix/plugins/client-control/index.html      |  10 +-
 .../apisix/plugins/consumer-restriction/index.html |  10 +-
 docs/apisix/plugins/cors/index.html                |  10 +-
 docs/apisix/plugins/dubbo-proxy/index.html         |  10 +-
 docs/apisix/plugins/echo/index.html                |  10 +-
 docs/apisix/plugins/error-log-logger/index.html    |  10 +-
 docs/apisix/plugins/ext-plugin-post-req/index.html |  10 +-
 docs/apisix/plugins/ext-plugin-pre-req/index.html  |  10 +-
 docs/apisix/plugins/fault-injection/index.html     |  10 +-
 docs/apisix/plugins/grpc-transcode/index.html      |  10 +-
 docs/apisix/plugins/gzip/index.html                |  10 +-
 docs/apisix/plugins/hmac-auth/index.html           |  10 +-
 docs/apisix/plugins/http-logger/index.html         |  10 +-
 docs/apisix/plugins/index.html                     |  10 +-
 docs/apisix/plugins/ip-restriction/index.html      |  10 +-
 docs/apisix/plugins/jwt-auth/index.html            |  10 +-
 docs/apisix/plugins/kafka-logger/index.html        |  10 +-
 docs/apisix/plugins/key-auth/index.html            |  10 +-
 docs/apisix/plugins/limit-conn/index.html          |  10 +-
 docs/apisix/plugins/limit-count/index.html         |  10 +-
 docs/apisix/plugins/limit-req/index.html           |  10 +-
 docs/apisix/plugins/log-rotate/index.html          |  10 +-
 docs/apisix/plugins/mqtt-proxy/index.html          |  10 +-
 docs/apisix/plugins/node-status/index.html         |  10 +-
 docs/apisix/plugins/openid-connect/index.html      |  10 +-
 docs/apisix/plugins/prometheus/index.html          |  10 +-
 docs/apisix/plugins/proxy-cache/index.html         |  10 +-
 docs/apisix/plugins/proxy-mirror/index.html        |  10 +-
 docs/apisix/plugins/proxy-rewrite/index.html       |  10 +-
 docs/apisix/plugins/real-ip/index.html             |  10 +-
 docs/apisix/plugins/redirect/index.html            |  10 +-
 docs/apisix/plugins/referer-restriction/index.html |  10 +-
 docs/apisix/plugins/request-id/index.html          |  10 +-
 docs/apisix/plugins/request-validation/index.html  |  10 +-
 docs/apisix/plugins/response-rewrite/index.html    |  10 +-
 docs/apisix/plugins/server-info/index.html         |  10 +-
 docs/apisix/plugins/serverless/index.html          |  10 +-
 docs/apisix/plugins/skywalking/index.html          |  10 +-
 docs/apisix/plugins/sls-logger/index.html          |  10 +-
 docs/apisix/plugins/syslog/index.html              |  10 +-
 docs/apisix/plugins/tcp-logger/index.html          |  10 +-
 docs/apisix/plugins/traffic-split/index.html       |  10 +-
 docs/apisix/plugins/ua-restriction/index.html      |  10 +-
 docs/apisix/plugins/udp-logger/index.html          |  10 +-
 docs/apisix/plugins/uri-blocker/index.html         |  10 +-
 docs/apisix/plugins/wolf-rbac/index.html           |  10 +-
 docs/apisix/plugins/zipkin/index.html              |  10 +-
 docs/apisix/powered-by/index.html                  |  10 +-
 docs/apisix/profile/index.html                     |  10 +-
 docs/apisix/router-radixtree/index.html            |  10 +-
 docs/apisix/stand-alone/index.html                 |  10 +-
 docs/apisix/stream-proxy/index.html                |  10 +-
 docs/apisix/tags/index.html                        |  10 +-
 docs/dashboard/2.5/FAQ/index.html                  |  10 +-
 docs/dashboard/2.5/I18N_USER_GUIDE/index.html      |  10 +-
 docs/dashboard/2.5/IGNORE_DOC/index.html           |  10 +-
 .../2.5/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 +-
 docs/dashboard/2.5/USER_GUIDE/index.html           |  10 +-
 docs/dashboard/2.5/api/api/index.html              |  10 +-
 docs/dashboard/2.5/back-end-tests/index.html       |  10 +-
 docs/dashboard/2.5/deploy-with-docker/index.html   |  10 +-
 docs/dashboard/2.5/deploy-with-rpm/index.html      |  10 +-
 docs/dashboard/2.5/deploy/index.html               |  10 +-
 docs/dashboard/2.5/develop/index.html              |  10 +-
 docs/dashboard/2.5/front-end-e2e/index.html        |  10 +-
 docs/dashboard/2.5/tags/index.html                 |  10 +-
 docs/dashboard/2.6.1/FAQ/index.html                |  10 +-
 docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html    |  10 +-
 docs/dashboard/2.6.1/IGNORE_DOC/index.html         |  10 +-
 .../2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  10 +-
 docs/dashboard/2.6.1/USER_GUIDE/index.html         |  10 +-
 docs/dashboard/2.6.1/api/api/index.html            |  10 +-
 docs/dashboard/2.6.1/back-end-tests/index.html     |  10 +-
 docs/dashboard/2.6.1/deploy-with-docker/index.html |  10 +-
 docs/dashboard/2.6.1/deploy-with-rpm/index.html    |  10 +-
 docs/dashboard/2.6.1/deploy/index.html             |  10 +-
 docs/dashboard/2.6.1/develop/index.html            |  10 +-
 docs/dashboard/2.6.1/front-end-e2e/index.html      |  10 +-
 docs/dashboard/2.6.1/tags/index.html               |  10 +-
 docs/dashboard/2.6/FAQ/index.html                  |  10 +-
 docs/dashboard/2.6/I18N_USER_GUIDE/index.html      |  10 +-
 docs/dashboard/2.6/IGNORE_DOC/index.html           |  10 +-
 .../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 +-
 docs/dashboard/2.6/USER_GUIDE/index.html           |  10 +-
 docs/dashboard/2.6/api/api/index.html              |  10 +-
 docs/dashboard/2.6/back-end-tests/index.html       |  10 +-
 docs/dashboard/2.6/deploy-with-docker/index.html   |  10 +-
 docs/dashboard/2.6/deploy-with-rpm/index.html      |  10 +-
 docs/dashboard/2.6/deploy/index.html               |  10 +-
 docs/dashboard/2.6/develop/index.html              |  10 +-
 docs/dashboard/2.6/front-end-e2e/index.html        |  10 +-
 docs/dashboard/2.6/tags/index.html                 |  10 +-
 docs/dashboard/2.7.1/FAQ/index.html                |  10 +-
 docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html    |  10 +-
 docs/dashboard/2.7.1/IGNORE_DOC/index.html         |  10 +-
 .../2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  10 +-
 docs/dashboard/2.7.1/USER_GUIDE/index.html         |  10 +-
 docs/dashboard/2.7.1/api/api/index.html            |  10 +-
 docs/dashboard/2.7.1/back-end-tests/index.html     |  10 +-
 docs/dashboard/2.7.1/deploy-with-docker/index.html |  10 +-
 docs/dashboard/2.7.1/deploy-with-rpm/index.html    |  10 +-
 docs/dashboard/2.7.1/deploy/index.html             |  10 +-
 docs/dashboard/2.7.1/develop/index.html            |  10 +-
 docs/dashboard/2.7.1/front-end-e2e/index.html      |  10 +-
 docs/dashboard/2.7.1/tags/index.html               |  10 +-
 docs/dashboard/2.7/FAQ/index.html                  |  10 +-
 docs/dashboard/2.7/I18N_USER_GUIDE/index.html      |  10 +-
 docs/dashboard/2.7/IGNORE_DOC/index.html           |  10 +-
 .../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 +-
 docs/dashboard/2.7/USER_GUIDE/index.html           |  10 +-
 docs/dashboard/2.7/api/api/index.html              |  10 +-
 docs/dashboard/2.7/back-end-tests/index.html       |  10 +-
 docs/dashboard/2.7/deploy-with-docker/index.html   |  10 +-
 docs/dashboard/2.7/deploy-with-rpm/index.html      |  10 +-
 docs/dashboard/2.7/deploy/index.html               |  10 +-
 docs/dashboard/2.7/develop/index.html              |  10 +-
 docs/dashboard/2.7/front-end-e2e/index.html        |  10 +-
 docs/dashboard/2.7/tags/index.html                 |  10 +-
 docs/dashboard/2.8/FAQ/index.html                  |  10 +-
 docs/dashboard/2.8/I18N_USER_GUIDE/index.html      |  10 +-
 docs/dashboard/2.8/IGNORE_DOC/index.html           |  10 +-
 .../2.8/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 +-
 docs/dashboard/2.8/USER_GUIDE/index.html           |  10 +-
 docs/dashboard/2.8/api/api/index.html              |  10 +-
 docs/dashboard/2.8/back-end-tests/index.html       |  10 +-
 docs/dashboard/2.8/deploy-with-docker/index.html   |  10 +-
 docs/dashboard/2.8/deploy-with-rpm/index.html      |  10 +-
 docs/dashboard/2.8/deploy/index.html               |  10 +-
 docs/dashboard/2.8/develop/index.html              |  10 +-
 docs/dashboard/2.8/front-end-e2e/index.html        |  10 +-
 docs/dashboard/2.8/tags/index.html                 |  10 +-
 docs/dashboard/FAQ/index.html                      |  10 +-
 docs/dashboard/I18N_USER_GUIDE/index.html          |  10 +-
 docs/dashboard/IGNORE_DOC/index.html               |  10 +-
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html |  10 +-
 docs/dashboard/USER_GUIDE/index.html               |  10 +-
 docs/dashboard/api/api/index.html                  |  10 +-
 docs/dashboard/back-end-tests/index.html           |  10 +-
 docs/dashboard/deploy-with-docker/index.html       |  10 +-
 docs/dashboard/deploy-with-rpm/index.html          |  10 +-
 docs/dashboard/deploy/index.html                   |  10 +-
 docs/dashboard/develop/index.html                  |  10 +-
 docs/dashboard/front-end-e2e/index.html            |  10 +-
 docs/dashboard/next/FAQ/index.html                 |  10 +-
 docs/dashboard/next/I18N_USER_GUIDE/index.html     |  10 +-
 docs/dashboard/next/IGNORE_DOC/index.html          |  12 +-
 .../next/IMPORT_OPENAPI_USER_GUIDE/index.html      |  10 +-
 docs/dashboard/next/USER_GUIDE/index.html          |  10 +-
 docs/dashboard/next/api/api/index.html             |  10 +-
 docs/dashboard/next/back-end-tests/index.html      |  10 +-
 docs/dashboard/next/deploy-with-docker/index.html  |  10 +-
 docs/dashboard/next/deploy-with-rpm/index.html     |  10 +-
 docs/dashboard/next/deploy/index.html              |  10 +-
 docs/dashboard/next/develop/index.html             |  10 +-
 docs/dashboard/next/front-end-e2e/index.html       |  10 +-
 docs/dashboard/next/tags/index.html                |  10 +-
 docs/dashboard/tags/index.html                     |  10 +-
 docs/docker/IGNORE_DOC/index.html                  |  10 +-
 docs/docker/apisix-2.10.0/IGNORE_DOC/index.html    |  10 +-
 docs/docker/apisix-2.10.0/build/index.html         |  10 +-
 docs/docker/apisix-2.10.0/example/index.html       |  10 +-
 docs/docker/apisix-2.10.0/manual/index.html        |  10 +-
 docs/docker/apisix-2.10.0/tags/index.html          |  10 +-
 docs/docker/apisix-2.9.0/IGNORE_DOC/index.html     |  10 +-
 docs/docker/apisix-2.9.0/build/index.html          |  10 +-
 docs/docker/apisix-2.9.0/example/index.html        |  10 +-
 docs/docker/apisix-2.9.0/manual/index.html         |  10 +-
 docs/docker/apisix-2.9.0/tags/index.html           |  10 +-
 docs/docker/build/index.html                       |  10 +-
 docs/docker/example/index.html                     |  10 +-
 docs/docker/manual/index.html                      |  10 +-
 docs/docker/next/IGNORE_DOC/index.html             |  12 +-
 docs/docker/next/build/index.html                  |  10 +-
 docs/docker/next/example/index.html                |  10 +-
 docs/docker/next/manual/index.html                 |  10 +-
 docs/docker/next/tags/index.html                   |  10 +-
 docs/docker/tags/index.html                        |  10 +-
 docs/general/2fa/index.html                        |  12 +-
 docs/general/committer-guide/index.html            |  12 +-
 docs/general/contributor-guide/index.html          |  12 +-
 .../general/integrate-with-project-docs/index.html |  12 +-
 docs/general/release-guide/index.html              |  12 +-
 docs/general/security/index.html                   |  12 +-
 docs/general/subscribe-guide/index.html            |  12 +-
 docs/general/tags/index.html                       |  10 +-
 docs/go-plugin-runner/0.1.0/IGNORE_DOC/index.html  |  10 +-
 .../0.1.0/developer-guide/index.html               |  10 +-
 .../0.1.0/getting-started/index.html               |  10 +-
 docs/go-plugin-runner/0.1.0/tags/index.html        |  10 +-
 docs/go-plugin-runner/IGNORE_DOC/index.html        |  10 +-
 docs/go-plugin-runner/developer-guide/index.html   |  10 +-
 docs/go-plugin-runner/getting-started/index.html   |  10 +-
 docs/go-plugin-runner/next/IGNORE_DOC/index.html   |  12 +-
 .../next/developer-guide/index.html                |  10 +-
 .../next/getting-started/index.html                |  10 +-
 docs/go-plugin-runner/next/tags/index.html         |  10 +-
 docs/go-plugin-runner/tags/index.html              |  10 +-
 docs/helm-chart/FAQ/index.html                     |  10 +-
 docs/helm-chart/IGNORE_DOC/index.html              |  12 +-
 docs/helm-chart/apisix-dashboard/index.html        |  10 +-
 .../apisix-ingress-controller/index.html           |  10 +-
 docs/helm-chart/apisix/index.html                  |  10 +-
 docs/helm-chart/tags/index.html                    |  10 +-
 docs/index.html                                    |  10 +-
 docs/ingress-controller/FAQ/index.html             |  10 +-
 docs/ingress-controller/IGNORE_DOC/index.html      |  12 +-
 .../concepts/annotations/index.html                |  10 +-
 .../concepts/apisix_cluster_config/index.html      |  10 +-
 .../concepts/apisix_route/index.html               |  10 +-
 .../concepts/apisix_tls/index.html                 |  10 +-
 .../concepts/apisix_upstream/index.html            |  10 +-
 docs/ingress-controller/contribute/index.html      |  10 +-
 docs/ingress-controller/deployments/ack/index.html |  10 +-
 docs/ingress-controller/deployments/aws/index.html |  10 +-
 .../deployments/azure/index.html                   |  10 +-
 docs/ingress-controller/deployments/gke/index.html |  10 +-
 .../deployments/k3s-rke/index.html                 |  10 +-
 .../deployments/kubesphere/index.html              |  10 +-
 .../deployments/minikube/index.html                |  10 +-
 docs/ingress-controller/deployments/tke/index.html |  10 +-
 docs/ingress-controller/design/index.html          |  10 +-
 docs/ingress-controller/development/index.html     |  10 +-
 docs/ingress-controller/getting-started/index.html |  10 +-
 .../practices/check-crd-status/index.html          |  10 +-
 docs/ingress-controller/practices/index/index.html |  10 +-
 .../index.html                                     |  10 +-
 .../index.html                                     |  10 +-
 docs/ingress-controller/practices/mtls/index.html  |  10 +-
 .../index.html                                     |  10 +-
 .../practices/proxy-the-httpbin-service/index.html |  10 +-
 .../practices/the-hard-way/index.html              |  10 +-
 .../references/apisix_cluster_config/index.html    |  10 +-
 .../references/apisix_route_v1/index.html          |  10 +-
 .../references/apisix_route_v2alpha1/index.html    |  10 +-
 .../references/apisix_route_v2beta1/index.html     |  10 +-
 .../references/apisix_tls/index.html               |  10 +-
 .../references/apisix_upstream/index.html          |  10 +-
 docs/ingress-controller/tags/index.html            |  10 +-
 docs/java-plugin-runner/IGNORE_DOC/index.html      |  10 +-
 docs/java-plugin-runner/development/index.html     |  10 +-
 docs/java-plugin-runner/how-it-works/index.html    |  10 +-
 docs/java-plugin-runner/next/IGNORE_DOC/index.html |  12 +-
 .../java-plugin-runner/next/development/index.html |  10 +-
 .../next/how-it-works/index.html                   |  10 +-
 docs/java-plugin-runner/next/tags/index.html       |  10 +-
 .../index.html                                     |  10 +-
 docs/java-plugin-runner/tags/index.html            |  10 +-
 .../index.html                                     |  10 +-
 docs/python-plugin-runner/IGNORE_DOC/index.html    |  10 +-
 .../developer-guide/index.html                     |  10 +-
 .../getting-started/index.html                     |  10 +-
 .../next/IGNORE_DOC/index.html                     |  12 +-
 .../next/developer-guide/index.html                |  10 +-
 .../next/getting-started/index.html                |  10 +-
 docs/python-plugin-runner/next/tags/index.html     |  10 +-
 docs/python-plugin-runner/tags/index.html          |  10 +-
 downloads/index.html                               |  10 +-
 events/archive/index.html                          |  10 +-
 help/index.html                                    |  10 +-
 index.html                                         |  10 +-
 plugins/index.html                                 |  10 +-
 .../11/15/release-apache-apisix-0.9/index.html     |  14 +-
 .../2019/9/29/release-apache-apisix-0.8/index.html |  16 +-
 .../2019/9/6/release-apache-apisix-0.7/index.html  |  12 +-
 .../2020/1/15/release-apache-apisix-1.0/index.html |  12 +-
 .../10/28/release-apache-apisix-2.0/index.html     |  12 +-
 .../2020/12/1/release-apache-apisix-2.1/index.html |  14 +-
 .../release-apache-apisix-dashboard-2.2/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../2020/2/24/release-apache-apisix-1.1/index.html |  12 +-
 .../release-apache-apisix-dashboard-1.0/index.html |  12 +-
 .../2020/4/20/release-apache-apisix-1.2/index.html |  12 +-
 .../2020/5/26/release-apache-apisix-1.3/index.html |  12 +-
 .../2020/6/30/release-apache-apisix-1.4/index.html |  12 +-
 .../7/20/release-apache-apisix-1.4.1/index.html    |  12 +-
 .../release-apache-apisix-dashboard-1.5/index.html |  12 +-
 .../2020/8/6/release-apache-apisix-1.5/index.html  |  12 +-
 .../release-apache-apisix-dashboard-2.3/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../2021/1/8/release-apache-apisix-2.2/index.html  |  12 +-
 .../index.html                                     |  12 +-
 .../release-apache-apisix-dashboard-2.4/index.html |  12 +-
 .../2021/2/9/release-apache-apisix-2.3/index.html  |  12 +-
 .../index.html                                     |  12 +-
 .../release-apache-apisix-dashboard-2.5/index.html |  12 +-
 .../2021/3/5/release-apache-apisix-2.4/index.html  |  12 +-
 .../index.html                                     |  16 +-
 .../release-apache-apisix-dashboard-2.6/index.html |  12 +-
 .../2021/4/5/release-apache-apisix-2.5/index.html  |  14 +-
 .../index.html                                     |  12 +-
 .../2021/5/24/release-apache-apisix-2.6/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../release-apache-apisix-dashboard-2.7/index.html |  12 +-
 .../index.html                                     |  14 +-
 .../2021/6/25/release-apache-apisix-2.7/index.html |  12 +-
 .../index.html                                     |  14 +-
 .../index.html                                     |  12 +-
 .../2021/7/27/release-apache-apisix-2.8/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  14 +-
 .../2021/8/27/release-apache-apisix-2.9/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../release-apache-apisix-dashboard-2.8/index.html |  12 +-
 releases/archive/index.html                        |  10 +-
 releases/index.html                                |  16 +-
 releases/page/2/index.html                         |  18 +-
 releases/page/3/index.html                         |  12 +-
 releases/page/4/index.html                         |  14 +-
 releases/page/5/index.html                         |  16 +-
 releases/tags/apisix-dashboard/index.html          |  12 +-
 releases/tags/apisix-go-plugin-runner/index.html   |  12 +-
 releases/tags/apisix-ingress-controller/index.html |  20 +-
 releases/tags/apisix-java-plugin-runner/index.html |  12 +-
 .../tags/apisix-python-plugin-runner/index.html    |  12 +-
 releases/tags/apisix/index.html                    |  20 +-
 releases/tags/index.html                           |  12 +-
 search/index.html                                  |  12 +-
 sections/architecture/index.html                   |  10 +-
 sections/benefits/index.html                       |  10 +-
 sections/comparison/index.html                     |  10 +-
 sections/components/arrowAnim/index.html           |  10 +-
 sections/components/eventPosterCard/index.html     |  10 +-
 sections/components/heroCanvas/index.html          |  10 +-
 sections/components/ossCanvas/index.html           |  10 +-
 sections/endcta/index.html                         |  10 +-
 sections/features/index.html                       |  10 +-
 sections/heroSection/index.html                    |  10 +-
 sections/newsSection/index.html                    |  10 +-
 sections/opensourcePromo/index.html                |  10 +-
 showcase/index.html                                |  10 +-
 sitemap.xml                                        |   2 +-
 team/index.html                                    |  10 +-
 zh/404.html                                        |  10 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../Apache-APISIX-Incubator-Journey/index.html     |  12 +-
 .../Apache-APISIX-Kubernetes-Ingress/index.html    |  12 +-
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../Speed-Limiting-With-Apache-APISIX/index.html   |  12 +-
 .../index.html                                     |  12 +-
 zh/articles/The-Appeal-of-OpenSource/index.html    |  12 +-
 .../The-Evolution-of-Apache-APISIX/index.html      |  12 +-
 .../index.html                                     |  12 +-
 zh/articles/archive/index.html                     |  10 +-
 zh/articles/atom.xml                               |   6 +-
 zh/articles/index.html                             |  12 +-
 zh/articles/page/2/index.html                      |  12 +-
 zh/articles/rss.xml                                |   6 +-
 zh/assets/css/styles.61d274fd.css                  |   1 +
 zh/assets/css/styles.7ba25bac.css                  |   1 -
 zh/assets/js/01112930.36b0ebeb.js                  |   1 -
 zh/assets/js/01640327.0d3541fd.js                  |   1 -
 zh/assets/js/01a85c17.5a0c1bdd.js                  |   1 +
 zh/assets/js/01a85c17.c7c5b309.js                  |   1 -
 .../{09b17eb5.0362e668.js => 09b17eb5.163cc368.js} |   2 +-
 .../assets/js/17896441.f240ed3e.js                 |   2 +-
 zh/assets/js/19945770.2676b172.js                  |   1 -
 zh/assets/js/19945770.fed018f6.js                  |   1 +
 .../{3393d167.97bdf082.js => 3393d167.d882272a.js} |   2 +-
 .../{358566b4.f927e7dc.js => 358566b4.23595c04.js} |   2 +-
 zh/assets/js/3a332aed.07581adc.js                  |   1 -
 zh/assets/js/3a332aed.acaa338f.js                  |   1 +
 .../{3dc9f306.1333823a.js => 3dc9f306.6434dd7b.js} |   2 +-
 .../{40fb2fae.39aa0b19.js => 40fb2fae.b98f5f19.js} |   2 +-
 .../{4c20006b.3e09fa3a.js => 4c20006b.8f455511.js} |   2 +-
 zh/assets/js/50facf8e.015dbcb7.js                  |   1 -
 zh/assets/js/50facf8e.57ff5d40.js                  |   1 +
 .../{542fd41f.5e533f46.js => 542fd41f.c1720580.js} |   2 +-
 .../{5b0fa993.202fd6b7.js => 5b0fa993.96391f19.js} |   2 +-
 .../{601c6eaa.5bf136c7.js => 601c6eaa.7cfb682e.js} |   2 +-
 zh/assets/js/6192341a.a35914a7.js                  |   1 -
 .../{66fbb9c2.29dae18c.js => 66fbb9c2.eab42497.js} |   2 +-
 zh/assets/js/6875c492.7d46aa29.js                  |   1 +
 zh/assets/js/6875c492.8bebbb2b.js                  |   1 -
 zh/assets/js/7af3052c.2e77349a.js                  |   1 +
 zh/assets/js/7af3052c.d6f34a87.js                  |   1 -
 .../{80791de8.79f37b0d.js => 80791de8.31120b22.js} |   2 +-
 zh/assets/js/8e784bf3.16237c95.js                  |   1 +
 zh/assets/js/8e784bf3.b9b92753.js                  |   1 -
 .../{8f700fa6.13e987ba.js => 8f700fa6.6f5464f4.js} |   2 +-
 .../{90fc8a94.db56880e.js => 90fc8a94.b9a4ae1e.js} |   2 +-
 .../{941960b1.4537ff78.js => 941960b1.51ffe9cf.js} |   2 +-
 zh/assets/js/95058e22.04731c8c.js                  |   1 -
 zh/assets/js/96546.54ed72be.js                     |   1 -
 zh/assets/js/a6aa9e1f.972fafe2.js                  |   1 +
 zh/assets/js/a6aa9e1f.f1526462.js                  |   1 -
 zh/assets/js/adbb350b.51c3ebb5.js                  |   1 -
 zh/assets/js/adbb350b.f2caf54f.js                  |   1 +
 zh/assets/js/ccc49370.db6c8728.js                  |   1 -
 zh/assets/js/ccc49370.f784fc25.js                  |   1 +
 zh/assets/js/d14629a4.dac549f2.js                  |   1 -
 .../{d18db9b0.9b79078a.js => d18db9b0.fb42a288.js} |   2 +-
 zh/assets/js/main.a957bbcf.js                      |   2 +
 .../assets/js/main.a957bbcf.js.LICENSE.txt         |   0
 zh/assets/js/main.d3a61bec.js                      |   2 -
 zh/assets/js/runtime~main.b1398c82.js              |   1 -
 zh/assets/js/runtime~main.d66571c4.js              |   1 +
 .../index.html                                     |  14 +-
 .../index.html                                     |  23 +-
 .../index.html                                     |  12 +-
 zh/blog/2021/05/24/Tencent-Games/index.html        |  22 +-
 .../index.html"                                    |  14 +-
 .../index.html                                     |  12 +-
 zh/blog/2021/06/06/apisix-two-years/index.html     |  12 +-
 .../index.html                                     |  73 +++++-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  41 +++-
 .../index.html                                     | 135 ++++++++--
 .../index.html                                     |  78 +++++-
 .../06/28/why-we-need-Apache-APISIX/index.html     |  12 +-
 .../06/29/release-apache-apisix-2.7-en/index.html  |  12 +-
 .../etcd3-support-HTTP-access-perfectly/index.html |  21 +-
 .../index.html                                     |  12 +-
 .../2021/07/21/Apache-APISIX-Kubernetes/index.html |  14 +-
 zh/blog/2021/07/25/apachecon-asia/index.html       |  12 +-
 .../index.html                                     |  93 ++++++-
 .../07/28/release-apache-apisix-2.8-en/index.html  |  59 ++++-
 zh/blog/2021/08/05/Kong-to-APISIX/index.html       |  67 +++--
 .../index.html                                     |  16 +-
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html |  12 +-
 .../08/09/Apache-APISIX-in-Quliankeji/index.html   |  14 +-
 zh/blog/2021/08/10/apisix-nginx/index.html         | 273 +++++++++++++++++++--
 .../2021/08/11/interview-TuZhengsong/index.html    |  12 +-
 .../index.html                                     |  16 +-
 zh/blog/2021/08/17/interview-airwallex/index.html  |  12 +-
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   | 131 ++++++++--
 .../08/19/go-makes-Apache-APISIX-better/index.html |  95 ++++++-
 zh/blog/2021/08/19/weekly-report/index.html        |  46 ++--
 zh/blog/2021/08/21/shanghai-meetup/index.html      |  12 +-
 zh/blog/2021/08/23/ApacheCon-Asia-2021/index.html  |  12 +-
 zh/blog/2021/08/23/weekly-report/index.html        |  34 +--
 .../2021/08/24/shanghai-meetup-recap/index.html    |  12 +-
 .../index.html                                     |  48 +++-
 .../index.html                                     |  63 ++++-
 .../08/27/release-apache-apisix-2.9-en/index.html  |  20 +-
 .../08/27/release-apache-apisix-2.9/index.html     |  20 +-
 zh/blog/2021/08/30/Ingress-Meeting/index.html      |  16 +-
 zh/blog/2021/08/30/weekly-report/index.html        |  18 +-
 .../index.html"                                    |  99 +++++++-
 .../index.html                                     | 146 +++++++++--
 .../2021/09/07/how-to-use-apisix-auth/index.html   |  12 +-
 zh/blog/2021/09/07/iQIYI-usercase/index.html       |  12 +-
 .../index.html                                     |  12 +-
 .../09/13/china-mobile-cloud-usercase/index.html   |  14 +-
 zh/blog/2021/09/14/youzan/index.html               |  12 +-
 zh/blog/2021/09/15/weekly-report/index.html        |  52 +++-
 zh/blog/2021/09/16/tencent-cloud/index.html        |  12 +-
 zh/blog/2021/09/18/xiaodian-usercase/index.html    |  16 +-
 zh/blog/2021/09/24/youpaicloud-usercase/index.html |  14 +-
 zh/blog/2021/09/28/WPS-usercase/index.html         |  14 +-
 .../09/29/release-apache-apisix-2.10-en/index.html |  53 +++-
 zh/blog/2021/09/30/weekly-report/index.html        |  42 +++-
 zh/blog/2021/10/01/openEuler/index.html            |  12 +-
 zh/blog/archive/index.html                         |  10 +-
 zh/blog/index.html                                 |  18 +-
 zh/blog/page/2/index.html                          |  30 ---
 zh/blog/page/3/index.html                          |  28 ---
 zh/blog/page/4/index.html                          |  28 ---
 zh/blog/page/5/index.html                          |  28 ---
 zh/blog/page/6/index.html                          |  28 ---
 zh/blog/tags/community/index.html                  |  12 +-
 zh/blog/tags/events/index.html                     |  12 +-
 zh/blog/tags/index.html                            |  12 +-
 zh/blog/tags/interview/index.html                  |  12 +-
 zh/blog/tags/practical-case/index.html             |  14 +-
 zh/blog/tags/release/index.html                    |  12 +-
 zh/blog/tags/security/index.html                   |  12 +-
 zh/blog/tags/technology/index.html                 |  12 +-
 zh/blog/tags/user-case/index.html                  |  16 +-
 zh/docs/apisix/2.10.0/FAQ/index.html               |  10 +-
 zh/docs/apisix/2.10.0/IGNORE_DOC/index.html        |  10 +-
 zh/docs/apisix/2.10.0/admin-api/index.html         |  10 +-
 .../2.10.0/architecture-design/apisix/index.html   |  10 +-
 .../2.10.0/architecture-design/consumer/index.html |  10 +-
 .../architecture-design/debug-mode/index.html      |  10 +-
 .../architecture-design/global-rule/index.html     |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.10.0/architecture-design/plugin/index.html   |  10 +-
 .../2.10.0/architecture-design/route/index.html    |  10 +-
 .../2.10.0/architecture-design/router/index.html   |  10 +-
 .../2.10.0/architecture-design/script/index.html   |  10 +-
 .../2.10.0/architecture-design/service/index.html  |  10 +-
 .../2.10.0/architecture-design/upstream/index.html |  10 +-
 zh/docs/apisix/2.10.0/aws/index.html               |  10 +-
 zh/docs/apisix/2.10.0/batch-processor/index.html   |  10 +-
 zh/docs/apisix/2.10.0/benchmark/index.html         |  10 +-
 zh/docs/apisix/2.10.0/certificate/index.html       |  10 +-
 zh/docs/apisix/2.10.0/control-api/index.html       |  10 +-
 .../customize-nginx-configuration/index.html       |  10 +-
 zh/docs/apisix/2.10.0/debug-function/index.html    |  10 +-
 .../apisix/2.10.0/discovery/consul_kv/index.html   |  10 +-
 zh/docs/apisix/2.10.0/discovery/dns/index.html     |  10 +-
 zh/docs/apisix/2.10.0/discovery/eureka/index.html  |  10 +-
 zh/docs/apisix/2.10.0/discovery/index.html         |  10 +-
 zh/docs/apisix/2.10.0/discovery/nacos/index.html   |  10 +-
 .../index.html                                     |  10 +-
 zh/docs/apisix/2.10.0/external-plugin/index.html   |  10 +-
 zh/docs/apisix/2.10.0/getting-started/index.html   |  10 +-
 zh/docs/apisix/2.10.0/grpc-proxy/index.html        |  10 +-
 zh/docs/apisix/2.10.0/health-check/index.html      |  10 +-
 zh/docs/apisix/2.10.0/how-to-build/index.html      |  10 +-
 .../apisix/2.10.0/install-dependencies/index.html  |  10 +-
 .../2.10.0/internal/testing-framework/index.html   |  10 +-
 zh/docs/apisix/2.10.0/mtls/index.html              |  10 +-
 zh/docs/apisix/2.10.0/plugin-develop/index.html    |  10 +-
 .../apisix/2.10.0/plugin-interceptors/index.html   |  10 +-
 .../apisix/2.10.0/plugins/api-breaker/index.html   |  10 +-
 .../apisix/2.10.0/plugins/authz-casbin/index.html  |  10 +-
 .../2.10.0/plugins/authz-keycloak/index.html       |  10 +-
 .../apisix/2.10.0/plugins/basic-auth/index.html    |  10 +-
 .../2.10.0/plugins/batch-requests/index.html       |  10 +-
 .../2.10.0/plugins/client-control/index.html       |  10 +-
 .../2.10.0/plugins/consumer-restriction/index.html |  10 +-
 zh/docs/apisix/2.10.0/plugins/cors/index.html      |  10 +-
 .../apisix/2.10.0/plugins/dubbo-proxy/index.html   |  10 +-
 zh/docs/apisix/2.10.0/plugins/echo/index.html      |  10 +-
 .../2.10.0/plugins/error-log-logger/index.html     |  10 +-
 .../2.10.0/plugins/ext-plugin-post-req/index.html  |  10 +-
 .../2.10.0/plugins/ext-plugin-pre-req/index.html   |  10 +-
 .../2.10.0/plugins/fault-injection/index.html      |  10 +-
 .../2.10.0/plugins/grpc-transcode/index.html       |  10 +-
 zh/docs/apisix/2.10.0/plugins/gzip/index.html      |  10 +-
 zh/docs/apisix/2.10.0/plugins/hmac-auth/index.html |  10 +-
 .../apisix/2.10.0/plugins/http-logger/index.html   |  10 +-
 .../2.10.0/plugins/ip-restriction/index.html       |  10 +-
 zh/docs/apisix/2.10.0/plugins/jwt-auth/index.html  |  10 +-
 .../apisix/2.10.0/plugins/kafka-logger/index.html  |  10 +-
 zh/docs/apisix/2.10.0/plugins/key-auth/index.html  |  10 +-
 .../apisix/2.10.0/plugins/limit-conn/index.html    |  10 +-
 .../apisix/2.10.0/plugins/limit-count/index.html   |  10 +-
 zh/docs/apisix/2.10.0/plugins/limit-req/index.html |  10 +-
 .../apisix/2.10.0/plugins/log-rotate/index.html    |  10 +-
 .../apisix/2.10.0/plugins/mqtt-proxy/index.html    |  10 +-
 .../apisix/2.10.0/plugins/node-status/index.html   |  10 +-
 .../2.10.0/plugins/openid-connect/index.html       |  10 +-
 .../apisix/2.10.0/plugins/prometheus/index.html    |  10 +-
 .../apisix/2.10.0/plugins/proxy-cache/index.html   |  10 +-
 .../apisix/2.10.0/plugins/proxy-mirror/index.html  |  10 +-
 .../apisix/2.10.0/plugins/proxy-rewrite/index.html |  10 +-
 zh/docs/apisix/2.10.0/plugins/real-ip/index.html   |  10 +-
 zh/docs/apisix/2.10.0/plugins/redirect/index.html  |  10 +-
 .../2.10.0/plugins/referer-restriction/index.html  |  10 +-
 .../apisix/2.10.0/plugins/request-id/index.html    |  10 +-
 .../2.10.0/plugins/request-validation/index.html   |  10 +-
 .../2.10.0/plugins/response-rewrite/index.html     |  10 +-
 .../apisix/2.10.0/plugins/server-info/index.html   |  10 +-
 .../apisix/2.10.0/plugins/serverless/index.html    |  10 +-
 .../apisix/2.10.0/plugins/skywalking/index.html    |  10 +-
 .../apisix/2.10.0/plugins/sls-logger/index.html    |  10 +-
 zh/docs/apisix/2.10.0/plugins/syslog/index.html    |  10 +-
 .../apisix/2.10.0/plugins/tcp-logger/index.html    |  10 +-
 .../apisix/2.10.0/plugins/traffic-split/index.html |  10 +-
 .../2.10.0/plugins/ua-restriction/index.html       |  10 +-
 .../apisix/2.10.0/plugins/udp-logger/index.html    |  10 +-
 .../apisix/2.10.0/plugins/uri-blocker/index.html   |  10 +-
 zh/docs/apisix/2.10.0/plugins/wolf-rbac/index.html |  10 +-
 zh/docs/apisix/2.10.0/plugins/zipkin/index.html    |  10 +-
 zh/docs/apisix/2.10.0/profile/index.html           |  10 +-
 zh/docs/apisix/2.10.0/router-radixtree/index.html  |  10 +-
 zh/docs/apisix/2.10.0/stand-alone/index.html       |  10 +-
 zh/docs/apisix/2.10.0/stream-proxy/index.html      |  10 +-
 zh/docs/apisix/2.10.0/tags/index.html              |  10 +-
 zh/docs/apisix/2.4/FAQ/index.html                  |  10 +-
 zh/docs/apisix/2.4/IGNORE_DOC/index.html           |  10 +-
 zh/docs/apisix/2.4/admin-api/index.html            |  10 +-
 .../2.4/architecture-design/apisix/index.html      |  10 +-
 .../2.4/architecture-design/consumer/index.html    |  10 +-
 .../2.4/architecture-design/debug-mode/index.html  |  10 +-
 .../2.4/architecture-design/global-rule/index.html |  10 +-
 zh/docs/apisix/2.4/architecture-design/index.html  |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.4/architecture-design/plugin/index.html      |  10 +-
 .../2.4/architecture-design/route/index.html       |  10 +-
 .../2.4/architecture-design/router/index.html      |  10 +-
 .../2.4/architecture-design/script/index.html      |  10 +-
 .../2.4/architecture-design/service/index.html     |  10 +-
 .../2.4/architecture-design/upstream/index.html    |  10 +-
 zh/docs/apisix/2.4/aws/index.html                  |  10 +-
 zh/docs/apisix/2.4/batch-processor/index.html      |  10 +-
 zh/docs/apisix/2.4/benchmark/index.html            |  10 +-
 zh/docs/apisix/2.4/certificate/index.html          |  10 +-
 zh/docs/apisix/2.4/control-api/index.html          |  10 +-
 .../2.4/customize-nginx-configuration/index.html   |  10 +-
 zh/docs/apisix/2.4/debug-function/index.html       |  10 +-
 zh/docs/apisix/2.4/discovery/consul_kv/index.html  |  10 +-
 zh/docs/apisix/2.4/discovery/dns/index.html        |  10 +-
 zh/docs/apisix/2.4/discovery/eureka/index.html     |  10 +-
 zh/docs/apisix/2.4/discovery/index.html            |  10 +-
 zh/docs/apisix/2.4/discovery/nacos/index.html      |  10 +-
 zh/docs/apisix/2.4/dns/index.html                  |  10 +-
 .../index.html                                     |  10 +-
 zh/docs/apisix/2.4/external-plugin/index.html      |  10 +-
 zh/docs/apisix/2.4/getting-started/index.html      |  10 +-
 zh/docs/apisix/2.4/grpc-proxy/index.html           |  10 +-
 zh/docs/apisix/2.4/health-check/index.html         |  10 +-
 zh/docs/apisix/2.4/how-to-build/index.html         |  10 +-
 zh/docs/apisix/2.4/https/index.html                |  10 +-
 zh/docs/apisix/2.4/install-dependencies/index.html |  10 +-
 .../2.4/internal/testing-framework/index.html      |  10 +-
 zh/docs/apisix/2.4/mtls/index.html                 |  10 +-
 zh/docs/apisix/2.4/plugin-develop/index.html       |  10 +-
 zh/docs/apisix/2.4/plugin-interceptors/index.html  |  10 +-
 zh/docs/apisix/2.4/plugins/api-breaker/index.html  |  10 +-
 zh/docs/apisix/2.4/plugins/authz-casbin/index.html |  10 +-
 .../apisix/2.4/plugins/authz-keycloak/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/basic-auth/index.html   |  10 +-
 .../apisix/2.4/plugins/batch-requests/index.html   |  10 +-
 .../apisix/2.4/plugins/client-control/index.html   |  10 +-
 .../2.4/plugins/consumer-restriction/index.html    |  10 +-
 zh/docs/apisix/2.4/plugins/cors/index.html         |  10 +-
 zh/docs/apisix/2.4/plugins/dubbo-proxy/index.html  |  10 +-
 zh/docs/apisix/2.4/plugins/echo/index.html         |  10 +-
 .../apisix/2.4/plugins/error-log-logger/index.html |  10 +-
 .../2.4/plugins/ext-plugin-post-req/index.html     |  10 +-
 .../2.4/plugins/ext-plugin-pre-req/index.html      |  10 +-
 .../apisix/2.4/plugins/fault-injection/index.html  |  10 +-
 .../apisix/2.4/plugins/grpc-transcode/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/gzip/index.html         |  10 +-
 zh/docs/apisix/2.4/plugins/hmac-auth/index.html    |  10 +-
 zh/docs/apisix/2.4/plugins/http-logger/index.html  |  10 +-
 zh/docs/apisix/2.4/plugins/index.html              |  10 +-
 .../apisix/2.4/plugins/ip-restriction/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/jwt-auth/index.html     |  10 +-
 zh/docs/apisix/2.4/plugins/kafka-logger/index.html |  10 +-
 zh/docs/apisix/2.4/plugins/key-auth/index.html     |  10 +-
 zh/docs/apisix/2.4/plugins/limit-conn/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/limit-count/index.html  |  10 +-
 zh/docs/apisix/2.4/plugins/limit-req/index.html    |  10 +-
 zh/docs/apisix/2.4/plugins/log-rotate/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/mqtt-proxy/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/node-status/index.html  |  10 +-
 .../apisix/2.4/plugins/openid-connect/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/prometheus/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/proxy-cache/index.html  |  10 +-
 zh/docs/apisix/2.4/plugins/proxy-mirror/index.html |  10 +-
 .../apisix/2.4/plugins/proxy-rewrite/index.html    |  10 +-
 zh/docs/apisix/2.4/plugins/real-ip/index.html      |  10 +-
 zh/docs/apisix/2.4/plugins/redirect/index.html     |  10 +-
 .../2.4/plugins/referer-restriction/index.html     |  10 +-
 zh/docs/apisix/2.4/plugins/request-id/index.html   |  10 +-
 .../2.4/plugins/request-validation/index.html      |  10 +-
 .../apisix/2.4/plugins/response-rewrite/index.html |  10 +-
 zh/docs/apisix/2.4/plugins/server-info/index.html  |  10 +-
 zh/docs/apisix/2.4/plugins/serverless/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/skywalking/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/sls-logger/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/syslog/index.html       |  10 +-
 zh/docs/apisix/2.4/plugins/tcp-logger/index.html   |  10 +-
 .../apisix/2.4/plugins/traffic-split/index.html    |  10 +-
 .../apisix/2.4/plugins/ua-restriction/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/udp-logger/index.html   |  10 +-
 zh/docs/apisix/2.4/plugins/uri-blocker/index.html  |  10 +-
 zh/docs/apisix/2.4/plugins/wolf-rbac/index.html    |  10 +-
 zh/docs/apisix/2.4/plugins/zipkin/index.html       |  10 +-
 zh/docs/apisix/2.4/powered-by/index.html           |  10 +-
 zh/docs/apisix/2.4/profile/index.html              |  10 +-
 zh/docs/apisix/2.4/router-radixtree/index.html     |  10 +-
 zh/docs/apisix/2.4/stand-alone/index.html          |  10 +-
 zh/docs/apisix/2.4/stream-proxy/index.html         |  10 +-
 zh/docs/apisix/2.4/tags/index.html                 |  10 +-
 zh/docs/apisix/2.5/FAQ/index.html                  |  10 +-
 zh/docs/apisix/2.5/IGNORE_DOC/index.html           |  10 +-
 zh/docs/apisix/2.5/admin-api/index.html            |  10 +-
 .../2.5/architecture-design/apisix/index.html      |  10 +-
 .../2.5/architecture-design/consumer/index.html    |  10 +-
 .../2.5/architecture-design/debug-mode/index.html  |  10 +-
 .../2.5/architecture-design/global-rule/index.html |  10 +-
 zh/docs/apisix/2.5/architecture-design/index.html  |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.5/architecture-design/plugin/index.html      |  10 +-
 .../2.5/architecture-design/route/index.html       |  10 +-
 .../2.5/architecture-design/router/index.html      |  10 +-
 .../2.5/architecture-design/script/index.html      |  10 +-
 .../2.5/architecture-design/service/index.html     |  10 +-
 .../2.5/architecture-design/upstream/index.html    |  10 +-
 zh/docs/apisix/2.5/aws/index.html                  |  10 +-
 zh/docs/apisix/2.5/batch-processor/index.html      |  10 +-
 zh/docs/apisix/2.5/benchmark/index.html            |  10 +-
 zh/docs/apisix/2.5/certificate/index.html          |  10 +-
 zh/docs/apisix/2.5/control-api/index.html          |  10 +-
 .../2.5/customize-nginx-configuration/index.html   |  10 +-
 zh/docs/apisix/2.5/debug-function/index.html       |  10 +-
 zh/docs/apisix/2.5/discovery/consul_kv/index.html  |  10 +-
 zh/docs/apisix/2.5/discovery/dns/index.html        |  10 +-
 zh/docs/apisix/2.5/discovery/eureka/index.html     |  10 +-
 zh/docs/apisix/2.5/discovery/index.html            |  10 +-
 zh/docs/apisix/2.5/discovery/nacos/index.html      |  10 +-
 zh/docs/apisix/2.5/dns/index.html                  |  10 +-
 .../index.html                                     |  10 +-
 zh/docs/apisix/2.5/external-plugin/index.html      |  10 +-
 zh/docs/apisix/2.5/getting-started/index.html      |  10 +-
 zh/docs/apisix/2.5/grpc-proxy/index.html           |  10 +-
 zh/docs/apisix/2.5/health-check/index.html         |  10 +-
 zh/docs/apisix/2.5/how-to-build/index.html         |  10 +-
 zh/docs/apisix/2.5/https/index.html                |  10 +-
 zh/docs/apisix/2.5/install-dependencies/index.html |  10 +-
 .../2.5/internal/testing-framework/index.html      |  10 +-
 zh/docs/apisix/2.5/mtls/index.html                 |  10 +-
 zh/docs/apisix/2.5/plugin-develop/index.html       |  10 +-
 zh/docs/apisix/2.5/plugin-interceptors/index.html  |  10 +-
 zh/docs/apisix/2.5/plugins/api-breaker/index.html  |  10 +-
 zh/docs/apisix/2.5/plugins/authz-casbin/index.html |  10 +-
 .../apisix/2.5/plugins/authz-keycloak/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/basic-auth/index.html   |  10 +-
 .../apisix/2.5/plugins/batch-requests/index.html   |  10 +-
 .../apisix/2.5/plugins/client-control/index.html   |  10 +-
 .../2.5/plugins/consumer-restriction/index.html    |  10 +-
 zh/docs/apisix/2.5/plugins/cors/index.html         |  10 +-
 zh/docs/apisix/2.5/plugins/dubbo-proxy/index.html  |  10 +-
 zh/docs/apisix/2.5/plugins/echo/index.html         |  10 +-
 .../apisix/2.5/plugins/error-log-logger/index.html |  10 +-
 .../2.5/plugins/ext-plugin-post-req/index.html     |  10 +-
 .../2.5/plugins/ext-plugin-pre-req/index.html      |  10 +-
 .../apisix/2.5/plugins/fault-injection/index.html  |  10 +-
 .../apisix/2.5/plugins/grpc-transcode/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/gzip/index.html         |  10 +-
 zh/docs/apisix/2.5/plugins/hmac-auth/index.html    |  10 +-
 zh/docs/apisix/2.5/plugins/http-logger/index.html  |  10 +-
 zh/docs/apisix/2.5/plugins/index.html              |  10 +-
 .../apisix/2.5/plugins/ip-restriction/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/jwt-auth/index.html     |  10 +-
 zh/docs/apisix/2.5/plugins/kafka-logger/index.html |  10 +-
 zh/docs/apisix/2.5/plugins/key-auth/index.html     |  10 +-
 zh/docs/apisix/2.5/plugins/limit-conn/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/limit-count/index.html  |  10 +-
 zh/docs/apisix/2.5/plugins/limit-req/index.html    |  10 +-
 zh/docs/apisix/2.5/plugins/log-rotate/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/mqtt-proxy/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/node-status/index.html  |  10 +-
 .../apisix/2.5/plugins/openid-connect/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/prometheus/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/proxy-cache/index.html  |  10 +-
 zh/docs/apisix/2.5/plugins/proxy-mirror/index.html |  10 +-
 .../apisix/2.5/plugins/proxy-rewrite/index.html    |  10 +-
 zh/docs/apisix/2.5/plugins/real-ip/index.html      |  10 +-
 zh/docs/apisix/2.5/plugins/redirect/index.html     |  10 +-
 .../2.5/plugins/referer-restriction/index.html     |  10 +-
 zh/docs/apisix/2.5/plugins/request-id/index.html   |  10 +-
 .../2.5/plugins/request-validation/index.html      |  10 +-
 .../apisix/2.5/plugins/response-rewrite/index.html |  10 +-
 zh/docs/apisix/2.5/plugins/server-info/index.html  |  10 +-
 zh/docs/apisix/2.5/plugins/serverless/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/skywalking/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/sls-logger/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/syslog/index.html       |  10 +-
 zh/docs/apisix/2.5/plugins/tcp-logger/index.html   |  10 +-
 .../apisix/2.5/plugins/traffic-split/index.html    |  10 +-
 .../apisix/2.5/plugins/ua-restriction/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/udp-logger/index.html   |  10 +-
 zh/docs/apisix/2.5/plugins/uri-blocker/index.html  |  10 +-
 zh/docs/apisix/2.5/plugins/wolf-rbac/index.html    |  10 +-
 zh/docs/apisix/2.5/plugins/zipkin/index.html       |  10 +-
 zh/docs/apisix/2.5/powered-by/index.html           |  10 +-
 zh/docs/apisix/2.5/profile/index.html              |  10 +-
 zh/docs/apisix/2.5/router-radixtree/index.html     |  10 +-
 zh/docs/apisix/2.5/stand-alone/index.html          |  10 +-
 zh/docs/apisix/2.5/stream-proxy/index.html         |  10 +-
 zh/docs/apisix/2.5/tags/index.html                 |  10 +-
 zh/docs/apisix/2.6/FAQ/index.html                  |  10 +-
 zh/docs/apisix/2.6/IGNORE_DOC/index.html           |  10 +-
 zh/docs/apisix/2.6/admin-api/index.html            |  10 +-
 .../2.6/architecture-design/apisix/index.html      |  10 +-
 .../2.6/architecture-design/consumer/index.html    |  10 +-
 .../2.6/architecture-design/debug-mode/index.html  |  10 +-
 .../2.6/architecture-design/global-rule/index.html |  10 +-
 zh/docs/apisix/2.6/architecture-design/index.html  |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.6/architecture-design/plugin/index.html      |  10 +-
 .../2.6/architecture-design/route/index.html       |  10 +-
 .../2.6/architecture-design/router/index.html      |  10 +-
 .../2.6/architecture-design/script/index.html      |  10 +-
 .../2.6/architecture-design/service/index.html     |  10 +-
 .../2.6/architecture-design/upstream/index.html    |  10 +-
 zh/docs/apisix/2.6/aws/index.html                  |  10 +-
 zh/docs/apisix/2.6/batch-processor/index.html      |  10 +-
 zh/docs/apisix/2.6/benchmark/index.html            |  10 +-
 zh/docs/apisix/2.6/certificate/index.html          |  10 +-
 zh/docs/apisix/2.6/control-api/index.html          |  10 +-
 .../2.6/customize-nginx-configuration/index.html   |  10 +-
 zh/docs/apisix/2.6/debug-function/index.html       |  10 +-
 zh/docs/apisix/2.6/discovery/consul_kv/index.html  |  10 +-
 zh/docs/apisix/2.6/discovery/dns/index.html        |  10 +-
 zh/docs/apisix/2.6/discovery/eureka/index.html     |  10 +-
 zh/docs/apisix/2.6/discovery/index.html            |  10 +-
 zh/docs/apisix/2.6/discovery/nacos/index.html      |  10 +-
 zh/docs/apisix/2.6/dns/index.html                  |  10 +-
 .../index.html                                     |  10 +-
 zh/docs/apisix/2.6/external-plugin/index.html      |  10 +-
 zh/docs/apisix/2.6/getting-started/index.html      |  10 +-
 zh/docs/apisix/2.6/grpc-proxy/index.html           |  10 +-
 zh/docs/apisix/2.6/health-check/index.html         |  10 +-
 zh/docs/apisix/2.6/how-to-build/index.html         |  10 +-
 zh/docs/apisix/2.6/https/index.html                |  10 +-
 zh/docs/apisix/2.6/install-dependencies/index.html |  10 +-
 .../2.6/internal/testing-framework/index.html      |  10 +-
 zh/docs/apisix/2.6/mtls/index.html                 |  10 +-
 zh/docs/apisix/2.6/plugin-develop/index.html       |  10 +-
 zh/docs/apisix/2.6/plugin-interceptors/index.html  |  10 +-
 zh/docs/apisix/2.6/plugins/api-breaker/index.html  |  10 +-
 zh/docs/apisix/2.6/plugins/authz-casbin/index.html |  10 +-
 .../apisix/2.6/plugins/authz-keycloak/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/basic-auth/index.html   |  10 +-
 .../apisix/2.6/plugins/batch-requests/index.html   |  10 +-
 .../apisix/2.6/plugins/client-control/index.html   |  10 +-
 .../2.6/plugins/consumer-restriction/index.html    |  10 +-
 zh/docs/apisix/2.6/plugins/cors/index.html         |  10 +-
 zh/docs/apisix/2.6/plugins/dubbo-proxy/index.html  |  10 +-
 zh/docs/apisix/2.6/plugins/echo/index.html         |  10 +-
 .../apisix/2.6/plugins/error-log-logger/index.html |  10 +-
 .../2.6/plugins/ext-plugin-post-req/index.html     |  10 +-
 .../2.6/plugins/ext-plugin-pre-req/index.html      |  10 +-
 .../apisix/2.6/plugins/fault-injection/index.html  |  10 +-
 .../apisix/2.6/plugins/grpc-transcode/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/gzip/index.html         |  10 +-
 zh/docs/apisix/2.6/plugins/hmac-auth/index.html    |  10 +-
 zh/docs/apisix/2.6/plugins/http-logger/index.html  |  10 +-
 zh/docs/apisix/2.6/plugins/index.html              |  10 +-
 .../apisix/2.6/plugins/ip-restriction/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/jwt-auth/index.html     |  10 +-
 zh/docs/apisix/2.6/plugins/kafka-logger/index.html |  10 +-
 zh/docs/apisix/2.6/plugins/key-auth/index.html     |  10 +-
 zh/docs/apisix/2.6/plugins/limit-conn/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/limit-count/index.html  |  10 +-
 zh/docs/apisix/2.6/plugins/limit-req/index.html    |  10 +-
 zh/docs/apisix/2.6/plugins/log-rotate/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/mqtt-proxy/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/node-status/index.html  |  10 +-
 .../apisix/2.6/plugins/openid-connect/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/prometheus/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/proxy-cache/index.html  |  10 +-
 zh/docs/apisix/2.6/plugins/proxy-mirror/index.html |  10 +-
 .../apisix/2.6/plugins/proxy-rewrite/index.html    |  10 +-
 zh/docs/apisix/2.6/plugins/real-ip/index.html      |  10 +-
 zh/docs/apisix/2.6/plugins/redirect/index.html     |  10 +-
 .../2.6/plugins/referer-restriction/index.html     |  10 +-
 zh/docs/apisix/2.6/plugins/request-id/index.html   |  10 +-
 .../2.6/plugins/request-validation/index.html      |  10 +-
 .../apisix/2.6/plugins/response-rewrite/index.html |  10 +-
 zh/docs/apisix/2.6/plugins/server-info/index.html  |  10 +-
 zh/docs/apisix/2.6/plugins/serverless/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/skywalking/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/sls-logger/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/syslog/index.html       |  10 +-
 zh/docs/apisix/2.6/plugins/tcp-logger/index.html   |  10 +-
 .../apisix/2.6/plugins/traffic-split/index.html    |  10 +-
 .../apisix/2.6/plugins/ua-restriction/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/udp-logger/index.html   |  10 +-
 zh/docs/apisix/2.6/plugins/uri-blocker/index.html  |  10 +-
 zh/docs/apisix/2.6/plugins/wolf-rbac/index.html    |  10 +-
 zh/docs/apisix/2.6/plugins/zipkin/index.html       |  10 +-
 zh/docs/apisix/2.6/powered-by/index.html           |  10 +-
 zh/docs/apisix/2.6/profile/index.html              |  10 +-
 zh/docs/apisix/2.6/router-radixtree/index.html     |  10 +-
 zh/docs/apisix/2.6/stand-alone/index.html          |  10 +-
 zh/docs/apisix/2.6/stream-proxy/index.html         |  10 +-
 zh/docs/apisix/2.6/tags/index.html                 |  10 +-
 zh/docs/apisix/2.7/FAQ/index.html                  |  10 +-
 zh/docs/apisix/2.7/IGNORE_DOC/index.html           |  10 +-
 zh/docs/apisix/2.7/admin-api/index.html            |  10 +-
 .../2.7/architecture-design/apisix/index.html      |  10 +-
 .../2.7/architecture-design/consumer/index.html    |  10 +-
 .../2.7/architecture-design/debug-mode/index.html  |  10 +-
 .../2.7/architecture-design/global-rule/index.html |  10 +-
 zh/docs/apisix/2.7/architecture-design/index.html  |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.7/architecture-design/plugin/index.html      |  10 +-
 .../2.7/architecture-design/route/index.html       |  10 +-
 .../2.7/architecture-design/router/index.html      |  10 +-
 .../2.7/architecture-design/script/index.html      |  10 +-
 .../2.7/architecture-design/service/index.html     |  10 +-
 .../2.7/architecture-design/upstream/index.html    |  10 +-
 zh/docs/apisix/2.7/aws/index.html                  |  10 +-
 zh/docs/apisix/2.7/batch-processor/index.html      |  10 +-
 zh/docs/apisix/2.7/benchmark/index.html            |  10 +-
 zh/docs/apisix/2.7/certificate/index.html          |  10 +-
 zh/docs/apisix/2.7/control-api/index.html          |  10 +-
 .../2.7/customize-nginx-configuration/index.html   |  10 +-
 zh/docs/apisix/2.7/debug-function/index.html       |  10 +-
 zh/docs/apisix/2.7/discovery/consul_kv/index.html  |  10 +-
 zh/docs/apisix/2.7/discovery/dns/index.html        |  10 +-
 zh/docs/apisix/2.7/discovery/eureka/index.html     |  10 +-
 zh/docs/apisix/2.7/discovery/index.html            |  10 +-
 zh/docs/apisix/2.7/discovery/nacos/index.html      |  10 +-
 zh/docs/apisix/2.7/dns/index.html                  |  10 +-
 .../index.html                                     |  10 +-
 zh/docs/apisix/2.7/external-plugin/index.html      |  10 +-
 zh/docs/apisix/2.7/getting-started/index.html      |  10 +-
 zh/docs/apisix/2.7/grpc-proxy/index.html           |  10 +-
 zh/docs/apisix/2.7/health-check/index.html         |  10 +-
 zh/docs/apisix/2.7/how-to-build/index.html         |  10 +-
 zh/docs/apisix/2.7/https/index.html                |  10 +-
 zh/docs/apisix/2.7/install-dependencies/index.html |  10 +-
 .../2.7/internal/testing-framework/index.html      |  10 +-
 zh/docs/apisix/2.7/mtls/index.html                 |  10 +-
 zh/docs/apisix/2.7/plugin-develop/index.html       |  10 +-
 zh/docs/apisix/2.7/plugin-interceptors/index.html  |  10 +-
 zh/docs/apisix/2.7/plugins/api-breaker/index.html  |  10 +-
 zh/docs/apisix/2.7/plugins/authz-casbin/index.html |  10 +-
 .../apisix/2.7/plugins/authz-keycloak/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/basic-auth/index.html   |  10 +-
 .../apisix/2.7/plugins/batch-requests/index.html   |  10 +-
 .../apisix/2.7/plugins/client-control/index.html   |  10 +-
 .../2.7/plugins/consumer-restriction/index.html    |  10 +-
 zh/docs/apisix/2.7/plugins/cors/index.html         |  10 +-
 zh/docs/apisix/2.7/plugins/dubbo-proxy/index.html  |  10 +-
 zh/docs/apisix/2.7/plugins/echo/index.html         |  10 +-
 .../apisix/2.7/plugins/error-log-logger/index.html |  10 +-
 .../2.7/plugins/ext-plugin-post-req/index.html     |  10 +-
 .../2.7/plugins/ext-plugin-pre-req/index.html      |  10 +-
 .../apisix/2.7/plugins/fault-injection/index.html  |  10 +-
 .../apisix/2.7/plugins/grpc-transcode/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/gzip/index.html         |  10 +-
 zh/docs/apisix/2.7/plugins/hmac-auth/index.html    |  10 +-
 zh/docs/apisix/2.7/plugins/http-logger/index.html  |  10 +-
 zh/docs/apisix/2.7/plugins/index.html              |  10 +-
 .../apisix/2.7/plugins/ip-restriction/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/jwt-auth/index.html     |  10 +-
 zh/docs/apisix/2.7/plugins/kafka-logger/index.html |  10 +-
 zh/docs/apisix/2.7/plugins/key-auth/index.html     |  10 +-
 zh/docs/apisix/2.7/plugins/limit-conn/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/limit-count/index.html  |  10 +-
 zh/docs/apisix/2.7/plugins/limit-req/index.html    |  10 +-
 zh/docs/apisix/2.7/plugins/log-rotate/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/mqtt-proxy/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/node-status/index.html  |  10 +-
 .../apisix/2.7/plugins/openid-connect/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/prometheus/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/proxy-cache/index.html  |  10 +-
 zh/docs/apisix/2.7/plugins/proxy-mirror/index.html |  10 +-
 .../apisix/2.7/plugins/proxy-rewrite/index.html    |  10 +-
 zh/docs/apisix/2.7/plugins/real-ip/index.html      |  10 +-
 zh/docs/apisix/2.7/plugins/redirect/index.html     |  10 +-
 .../2.7/plugins/referer-restriction/index.html     |  10 +-
 zh/docs/apisix/2.7/plugins/request-id/index.html   |  10 +-
 .../2.7/plugins/request-validation/index.html      |  10 +-
 .../apisix/2.7/plugins/response-rewrite/index.html |  10 +-
 zh/docs/apisix/2.7/plugins/server-info/index.html  |  10 +-
 zh/docs/apisix/2.7/plugins/serverless/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/skywalking/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/sls-logger/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/syslog/index.html       |  10 +-
 zh/docs/apisix/2.7/plugins/tcp-logger/index.html   |  10 +-
 .../apisix/2.7/plugins/traffic-split/index.html    |  10 +-
 .../apisix/2.7/plugins/ua-restriction/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/udp-logger/index.html   |  10 +-
 zh/docs/apisix/2.7/plugins/uri-blocker/index.html  |  10 +-
 zh/docs/apisix/2.7/plugins/wolf-rbac/index.html    |  10 +-
 zh/docs/apisix/2.7/plugins/zipkin/index.html       |  10 +-
 zh/docs/apisix/2.7/powered-by/index.html           |  10 +-
 zh/docs/apisix/2.7/profile/index.html              |  10 +-
 zh/docs/apisix/2.7/router-radixtree/index.html     |  10 +-
 zh/docs/apisix/2.7/stand-alone/index.html          |  10 +-
 zh/docs/apisix/2.7/stream-proxy/index.html         |  10 +-
 zh/docs/apisix/2.7/tags/index.html                 |  10 +-
 zh/docs/apisix/2.8/FAQ/index.html                  |  10 +-
 zh/docs/apisix/2.8/IGNORE_DOC/index.html           |  10 +-
 zh/docs/apisix/2.8/admin-api/index.html            |  10 +-
 .../2.8/architecture-design/apisix/index.html      |  10 +-
 .../2.8/architecture-design/consumer/index.html    |  10 +-
 .../2.8/architecture-design/debug-mode/index.html  |  10 +-
 .../2.8/architecture-design/global-rule/index.html |  10 +-
 zh/docs/apisix/2.8/architecture-design/index.html  |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../2.8/architecture-design/plugin/index.html      |  10 +-
 .../2.8/architecture-design/route/index.html       |  10 +-
 .../2.8/architecture-design/router/index.html      |  10 +-
 .../2.8/architecture-design/script/index.html      |  10 +-
 .../2.8/architecture-design/service/index.html     |  10 +-
 .../2.8/architecture-design/upstream/index.html    |  10 +-
 zh/docs/apisix/2.8/aws/index.html                  |  10 +-
 zh/docs/apisix/2.8/batch-processor/index.html      |  10 +-
 zh/docs/apisix/2.8/benchmark/index.html            |  10 +-
 zh/docs/apisix/2.8/certificate/index.html          |  10 +-
 zh/docs/apisix/2.8/control-api/index.html          |  10 +-
 .../2.8/customize-nginx-configuration/index.html   |  10 +-
 zh/docs/apisix/2.8/debug-function/index.html       |  10 +-
 zh/docs/apisix/2.8/discovery/consul_kv/index.html  |  10 +-
 zh/docs/apisix/2.8/discovery/dns/index.html        |  10 +-
 zh/docs/apisix/2.8/discovery/eureka/index.html     |  10 +-
 zh/docs/apisix/2.8/discovery/index.html            |  10 +-
 zh/docs/apisix/2.8/discovery/nacos/index.html      |  10 +-
 zh/docs/apisix/2.8/dns/index.html                  |  10 +-
 .../index.html                                     |  10 +-
 zh/docs/apisix/2.8/external-plugin/index.html      |  10 +-
 zh/docs/apisix/2.8/getting-started/index.html      |  10 +-
 zh/docs/apisix/2.8/grpc-proxy/index.html           |  10 +-
 zh/docs/apisix/2.8/health-check/index.html         |  10 +-
 zh/docs/apisix/2.8/how-to-build/index.html         |  10 +-
 zh/docs/apisix/2.8/https/index.html                |  10 +-
 zh/docs/apisix/2.8/install-dependencies/index.html |  10 +-
 .../2.8/internal/testing-framework/index.html      |  10 +-
 zh/docs/apisix/2.8/mtls/index.html                 |  10 +-
 zh/docs/apisix/2.8/plugin-develop/index.html       |  10 +-
 zh/docs/apisix/2.8/plugin-interceptors/index.html  |  10 +-
 zh/docs/apisix/2.8/plugins/api-breaker/index.html  |  10 +-
 zh/docs/apisix/2.8/plugins/authz-casbin/index.html |  10 +-
 .../apisix/2.8/plugins/authz-keycloak/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/basic-auth/index.html   |  10 +-
 .../apisix/2.8/plugins/batch-requests/index.html   |  10 +-
 .../apisix/2.8/plugins/client-control/index.html   |  10 +-
 .../2.8/plugins/consumer-restriction/index.html    |  10 +-
 zh/docs/apisix/2.8/plugins/cors/index.html         |  10 +-
 zh/docs/apisix/2.8/plugins/dubbo-proxy/index.html  |  10 +-
 zh/docs/apisix/2.8/plugins/echo/index.html         |  10 +-
 .../apisix/2.8/plugins/error-log-logger/index.html |  10 +-
 .../2.8/plugins/ext-plugin-post-req/index.html     |  10 +-
 .../2.8/plugins/ext-plugin-pre-req/index.html      |  10 +-
 .../apisix/2.8/plugins/fault-injection/index.html  |  10 +-
 .../apisix/2.8/plugins/grpc-transcode/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/gzip/index.html         |  10 +-
 zh/docs/apisix/2.8/plugins/hmac-auth/index.html    |  10 +-
 zh/docs/apisix/2.8/plugins/http-logger/index.html  |  10 +-
 zh/docs/apisix/2.8/plugins/index.html              |  10 +-
 .../apisix/2.8/plugins/ip-restriction/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/jwt-auth/index.html     |  10 +-
 zh/docs/apisix/2.8/plugins/kafka-logger/index.html |  10 +-
 zh/docs/apisix/2.8/plugins/key-auth/index.html     |  10 +-
 zh/docs/apisix/2.8/plugins/limit-conn/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/limit-count/index.html  |  10 +-
 zh/docs/apisix/2.8/plugins/limit-req/index.html    |  10 +-
 zh/docs/apisix/2.8/plugins/log-rotate/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/mqtt-proxy/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/node-status/index.html  |  10 +-
 .../apisix/2.8/plugins/openid-connect/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/prometheus/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/proxy-cache/index.html  |  10 +-
 zh/docs/apisix/2.8/plugins/proxy-mirror/index.html |  10 +-
 .../apisix/2.8/plugins/proxy-rewrite/index.html    |  10 +-
 zh/docs/apisix/2.8/plugins/real-ip/index.html      |  10 +-
 zh/docs/apisix/2.8/plugins/redirect/index.html     |  10 +-
 .../2.8/plugins/referer-restriction/index.html     |  10 +-
 zh/docs/apisix/2.8/plugins/request-id/index.html   |  10 +-
 .../2.8/plugins/request-validation/index.html      |  10 +-
 .../apisix/2.8/plugins/response-rewrite/index.html |  10 +-
 zh/docs/apisix/2.8/plugins/server-info/index.html  |  10 +-
 zh/docs/apisix/2.8/plugins/serverless/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/skywalking/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/sls-logger/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/syslog/index.html       |  10 +-
 zh/docs/apisix/2.8/plugins/tcp-logger/index.html   |  10 +-
 .../apisix/2.8/plugins/traffic-split/index.html    |  10 +-
 .../apisix/2.8/plugins/ua-restriction/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/udp-logger/index.html   |  10 +-
 zh/docs/apisix/2.8/plugins/uri-blocker/index.html  |  10 +-
 zh/docs/apisix/2.8/plugins/wolf-rbac/index.html    |  10 +-
 zh/docs/apisix/2.8/plugins/zipkin/index.html       |  10 +-
 zh/docs/apisix/2.8/powered-by/index.html           |  10 +-
 zh/docs/apisix/2.8/profile/index.html              |  10 +-
 zh/docs/apisix/2.8/router-radixtree/index.html     |  10 +-
 zh/docs/apisix/2.8/stand-alone/index.html          |  10 +-
 zh/docs/apisix/2.8/stream-proxy/index.html         |  10 +-
 zh/docs/apisix/2.8/tags/index.html                 |  10 +-
 zh/docs/apisix/FAQ/index.html                      |  10 +-
 zh/docs/apisix/IGNORE_DOC/index.html               |  10 +-
 zh/docs/apisix/admin-api/index.html                |  10 +-
 .../apisix/architecture-design/apisix/index.html   |  10 +-
 .../apisix/architecture-design/consumer/index.html |  10 +-
 .../architecture-design/debug-mode/index.html      |  10 +-
 .../architecture-design/global-rule/index.html     |  10 +-
 zh/docs/apisix/architecture-design/index.html      |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../apisix/architecture-design/plugin/index.html   |  10 +-
 .../apisix/architecture-design/route/index.html    |  10 +-
 .../apisix/architecture-design/router/index.html   |  10 +-
 .../apisix/architecture-design/script/index.html   |  10 +-
 .../apisix/architecture-design/service/index.html  |  10 +-
 .../apisix/architecture-design/upstream/index.html |  10 +-
 zh/docs/apisix/aws/index.html                      |  10 +-
 zh/docs/apisix/batch-processor/index.html          |  10 +-
 zh/docs/apisix/benchmark/index.html                |  10 +-
 zh/docs/apisix/certificate/index.html              |  10 +-
 zh/docs/apisix/control-api/index.html              |  10 +-
 .../customize-nginx-configuration/index.html       |  10 +-
 zh/docs/apisix/debug-function/index.html           |  10 +-
 zh/docs/apisix/discovery/consul_kv/index.html      |  10 +-
 zh/docs/apisix/discovery/dns/index.html            |  10 +-
 zh/docs/apisix/discovery/eureka/index.html         |  10 +-
 zh/docs/apisix/discovery/index.html                |  10 +-
 zh/docs/apisix/discovery/nacos/index.html          |  10 +-
 zh/docs/apisix/dns/index.html                      |  10 +-
 .../index.html                                     |  10 +-
 zh/docs/apisix/external-plugin/index.html          |  10 +-
 zh/docs/apisix/getting-started/index.html          |  10 +-
 zh/docs/apisix/grpc-proxy/index.html               |  10 +-
 zh/docs/apisix/health-check/index.html             |  10 +-
 zh/docs/apisix/how-to-build/index.html             |  10 +-
 zh/docs/apisix/https/index.html                    |  10 +-
 zh/docs/apisix/install-dependencies/index.html     |  10 +-
 .../apisix/internal/testing-framework/index.html   |  10 +-
 zh/docs/apisix/mtls/index.html                     |  10 +-
 zh/docs/apisix/next/FAQ/index.html                 |  10 +-
 zh/docs/apisix/next/IGNORE_DOC/index.html          |  12 +-
 zh/docs/apisix/next/admin-api/index.html           |  10 +-
 .../next/architecture-design/apisix/index.html     |  10 +-
 .../next/architecture-design/consumer/index.html   |  10 +-
 .../next/architecture-design/debug-mode/index.html |  10 +-
 .../architecture-design/global-rule/index.html     |  10 +-
 zh/docs/apisix/next/architecture-design/index.html |  10 +-
 .../architecture-design/plugin-config/index.html   |  10 +-
 .../next/architecture-design/plugin/index.html     |  10 +-
 .../next/architecture-design/route/index.html      |  10 +-
 .../next/architecture-design/router/index.html     |  10 +-
 .../next/architecture-design/script/index.html     |  10 +-
 .../next/architecture-design/service/index.html    |  10 +-
 .../next/architecture-design/upstream/index.html   |  10 +-
 zh/docs/apisix/next/aws/index.html                 |  10 +-
 zh/docs/apisix/next/batch-processor/index.html     |  10 +-
 zh/docs/apisix/next/benchmark/index.html           |  10 +-
 zh/docs/apisix/next/certificate/index.html         |  10 +-
 zh/docs/apisix/next/control-api/index.html         |  10 +-
 .../next/customize-nginx-configuration/index.html  |  10 +-
 zh/docs/apisix/next/debug-function/index.html      |  10 +-
 zh/docs/apisix/next/discovery/consul_kv/index.html |  10 +-
 zh/docs/apisix/next/discovery/dns/index.html       |  10 +-
 zh/docs/apisix/next/discovery/eureka/index.html    |  10 +-
 zh/docs/apisix/next/discovery/index.html           |  10 +-
 zh/docs/apisix/next/discovery/nacos/index.html     |  10 +-
 zh/docs/apisix/next/dns/index.html                 |  10 +-
 .../index.html                                     |  10 +-
 zh/docs/apisix/next/external-plugin/index.html     |  10 +-
 zh/docs/apisix/next/getting-started/index.html     |  10 +-
 zh/docs/apisix/next/grpc-proxy/index.html          |  10 +-
 zh/docs/apisix/next/health-check/index.html        |  10 +-
 zh/docs/apisix/next/how-to-build/index.html        |  10 +-
 zh/docs/apisix/next/https/index.html               |  10 +-
 .../apisix/next/install-dependencies/index.html    |  10 +-
 .../next/internal/testing-framework/index.html     |  10 +-
 zh/docs/apisix/next/mtls/index.html                |  10 +-
 zh/docs/apisix/next/plugin-develop/index.html      |  10 +-
 zh/docs/apisix/next/plugin-interceptors/index.html |  10 +-
 zh/docs/apisix/next/plugins/api-breaker/index.html |  10 +-
 .../apisix/next/plugins/authz-casbin/index.html    |  10 +-
 .../apisix/next/plugins/authz-keycloak/index.html  |  10 +-
 zh/docs/apisix/next/plugins/basic-auth/index.html  |  10 +-
 .../apisix/next/plugins/batch-requests/index.html  |  10 +-
 .../apisix/next/plugins/client-control/index.html  |  10 +-
 .../next/plugins/consumer-restriction/index.html   |  10 +-
 zh/docs/apisix/next/plugins/cors/index.html        |  10 +-
 zh/docs/apisix/next/plugins/dubbo-proxy/index.html |  10 +-
 zh/docs/apisix/next/plugins/echo/index.html        |  10 +-
 .../next/plugins/error-log-logger/index.html       |  10 +-
 .../next/plugins/ext-plugin-post-req/index.html    |  10 +-
 .../next/plugins/ext-plugin-pre-req/index.html     |  10 +-
 .../apisix/next/plugins/fault-injection/index.html |  10 +-
 .../apisix/next/plugins/grpc-transcode/index.html  |  10 +-
 zh/docs/apisix/next/plugins/gzip/index.html        |  10 +-
 zh/docs/apisix/next/plugins/hmac-auth/index.html   |  10 +-
 zh/docs/apisix/next/plugins/http-logger/index.html |  10 +-
 zh/docs/apisix/next/plugins/index.html             |  10 +-
 .../apisix/next/plugins/ip-restriction/index.html  |  10 +-
 zh/docs/apisix/next/plugins/jwt-auth/index.html    |  10 +-
 .../apisix/next/plugins/kafka-logger/index.html    |  10 +-
 zh/docs/apisix/next/plugins/key-auth/index.html    |  10 +-
 zh/docs/apisix/next/plugins/limit-conn/index.html  |  10 +-
 zh/docs/apisix/next/plugins/limit-count/index.html |  10 +-
 zh/docs/apisix/next/plugins/limit-req/index.html   |  10 +-
 zh/docs/apisix/next/plugins/log-rotate/index.html  |  10 +-
 zh/docs/apisix/next/plugins/mqtt-proxy/index.html  |  10 +-
 zh/docs/apisix/next/plugins/node-status/index.html |  10 +-
 .../apisix/next/plugins/openid-connect/index.html  |  10 +-
 zh/docs/apisix/next/plugins/prometheus/index.html  |  10 +-
 zh/docs/apisix/next/plugins/proxy-cache/index.html |  10 +-
 .../apisix/next/plugins/proxy-mirror/index.html    |  10 +-
 .../apisix/next/plugins/proxy-rewrite/index.html   |  10 +-
 zh/docs/apisix/next/plugins/real-ip/index.html     |  10 +-
 zh/docs/apisix/next/plugins/redirect/index.html    |  10 +-
 .../next/plugins/referer-restriction/index.html    |  10 +-
 zh/docs/apisix/next/plugins/request-id/index.html  |  10 +-
 .../next/plugins/request-validation/index.html     |  10 +-
 .../next/plugins/response-rewrite/index.html       |  10 +-
 zh/docs/apisix/next/plugins/server-info/index.html |  10 +-
 zh/docs/apisix/next/plugins/serverless/index.html  |  10 +-
 zh/docs/apisix/next/plugins/skywalking/index.html  |  10 +-
 zh/docs/apisix/next/plugins/sls-logger/index.html  |  10 +-
 zh/docs/apisix/next/plugins/syslog/index.html      |  10 +-
 zh/docs/apisix/next/plugins/tcp-logger/index.html  |  10 +-
 .../apisix/next/plugins/traffic-split/index.html   |  10 +-
 .../apisix/next/plugins/ua-restriction/index.html  |  10 +-
 zh/docs/apisix/next/plugins/udp-logger/index.html  |  10 +-
 zh/docs/apisix/next/plugins/uri-blocker/index.html |  10 +-
 zh/docs/apisix/next/plugins/wolf-rbac/index.html   |  10 +-
 zh/docs/apisix/next/plugins/zipkin/index.html      |  10 +-
 zh/docs/apisix/next/powered-by/index.html          |  10 +-
 zh/docs/apisix/next/profile/index.html             |  10 +-
 zh/docs/apisix/next/router-radixtree/index.html    |  10 +-
 zh/docs/apisix/next/stand-alone/index.html         |  10 +-
 zh/docs/apisix/next/stream-proxy/index.html        |  10 +-
 zh/docs/apisix/next/tags/index.html                |  10 +-
 zh/docs/apisix/plugin-develop/index.html           |  10 +-
 zh/docs/apisix/plugin-interceptors/index.html      |  10 +-
 zh/docs/apisix/plugins/api-breaker/index.html      |  10 +-
 zh/docs/apisix/plugins/authz-casbin/index.html     |  10 +-
 zh/docs/apisix/plugins/authz-keycloak/index.html   |  10 +-
 zh/docs/apisix/plugins/basic-auth/index.html       |  10 +-
 zh/docs/apisix/plugins/batch-requests/index.html   |  10 +-
 zh/docs/apisix/plugins/client-control/index.html   |  10 +-
 .../apisix/plugins/consumer-restriction/index.html |  10 +-
 zh/docs/apisix/plugins/cors/index.html             |  10 +-
 zh/docs/apisix/plugins/dubbo-proxy/index.html      |  10 +-
 zh/docs/apisix/plugins/echo/index.html             |  10 +-
 zh/docs/apisix/plugins/error-log-logger/index.html |  10 +-
 .../apisix/plugins/ext-plugin-post-req/index.html  |  10 +-
 .../apisix/plugins/ext-plugin-pre-req/index.html   |  10 +-
 zh/docs/apisix/plugins/fault-injection/index.html  |  10 +-
 zh/docs/apisix/plugins/grpc-transcode/index.html   |  10 +-
 zh/docs/apisix/plugins/gzip/index.html             |  10 +-
 zh/docs/apisix/plugins/hmac-auth/index.html        |  10 +-
 zh/docs/apisix/plugins/http-logger/index.html      |  10 +-
 zh/docs/apisix/plugins/index.html                  |  10 +-
 zh/docs/apisix/plugins/ip-restriction/index.html   |  10 +-
 zh/docs/apisix/plugins/jwt-auth/index.html         |  10 +-
 zh/docs/apisix/plugins/kafka-logger/index.html     |  10 +-
 zh/docs/apisix/plugins/key-auth/index.html         |  10 +-
 zh/docs/apisix/plugins/limit-conn/index.html       |  10 +-
 zh/docs/apisix/plugins/limit-count/index.html      |  10 +-
 zh/docs/apisix/plugins/limit-req/index.html        |  10 +-
 zh/docs/apisix/plugins/log-rotate/index.html       |  10 +-
 zh/docs/apisix/plugins/mqtt-proxy/index.html       |  10 +-
 zh/docs/apisix/plugins/node-status/index.html      |  10 +-
 zh/docs/apisix/plugins/openid-connect/index.html   |  10 +-
 zh/docs/apisix/plugins/prometheus/index.html       |  10 +-
 zh/docs/apisix/plugins/proxy-cache/index.html      |  10 +-
 zh/docs/apisix/plugins/proxy-mirror/index.html     |  10 +-
 zh/docs/apisix/plugins/proxy-rewrite/index.html    |  10 +-
 zh/docs/apisix/plugins/real-ip/index.html          |  10 +-
 zh/docs/apisix/plugins/redirect/index.html         |  10 +-
 .../apisix/plugins/referer-restriction/index.html  |  10 +-
 zh/docs/apisix/plugins/request-id/index.html       |  10 +-
 .../apisix/plugins/request-validation/index.html   |  10 +-
 zh/docs/apisix/plugins/response-rewrite/index.html |  10 +-
 zh/docs/apisix/plugins/server-info/index.html      |  10 +-
 zh/docs/apisix/plugins/serverless/index.html       |  10 +-
 zh/docs/apisix/plugins/skywalking/index.html       |  10 +-
 zh/docs/apisix/plugins/sls-logger/index.html       |  10 +-
 zh/docs/apisix/plugins/syslog/index.html           |  10 +-
 zh/docs/apisix/plugins/tcp-logger/index.html       |  10 +-
 zh/docs/apisix/plugins/traffic-split/index.html    |  10 +-
 zh/docs/apisix/plugins/ua-restriction/index.html   |  10 +-
 zh/docs/apisix/plugins/udp-logger/index.html       |  10 +-
 zh/docs/apisix/plugins/uri-blocker/index.html      |  10 +-
 zh/docs/apisix/plugins/wolf-rbac/index.html        |  10 +-
 zh/docs/apisix/plugins/zipkin/index.html           |  10 +-
 zh/docs/apisix/powered-by/index.html               |  10 +-
 zh/docs/apisix/profile/index.html                  |  10 +-
 zh/docs/apisix/router-radixtree/index.html         |  10 +-
 zh/docs/apisix/stand-alone/index.html              |  10 +-
 zh/docs/apisix/stream-proxy/index.html             |  10 +-
 zh/docs/apisix/tags/index.html                     |  10 +-
 zh/docs/dashboard/2.5/FAQ/index.html               |  10 +-
 zh/docs/dashboard/2.5/I18N_USER_GUIDE/index.html   |  10 +-
 zh/docs/dashboard/2.5/IGNORE_DOC/index.html        |  10 +-
 .../2.5/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 +-
 zh/docs/dashboard/2.5/USER_GUIDE/index.html        |  10 +-
 zh/docs/dashboard/2.5/api/api/index.html           |  10 +-
 zh/docs/dashboard/2.5/back-end-tests/index.html    |  10 +-
 .../dashboard/2.5/deploy-with-docker/index.html    |  10 +-
 zh/docs/dashboard/2.5/deploy-with-rpm/index.html   |  10 +-
 zh/docs/dashboard/2.5/deploy/index.html            |  10 +-
 zh/docs/dashboard/2.5/develop/index.html           |  10 +-
 zh/docs/dashboard/2.5/front-end-e2e/index.html     |  10 +-
 zh/docs/dashboard/2.5/tags/index.html              |  10 +-
 zh/docs/dashboard/2.6.1/FAQ/index.html             |  10 +-
 zh/docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html |  10 +-
 zh/docs/dashboard/2.6.1/IGNORE_DOC/index.html      |  10 +-
 .../2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  10 +-
 zh/docs/dashboard/2.6.1/USER_GUIDE/index.html      |  10 +-
 zh/docs/dashboard/2.6.1/api/api/index.html         |  10 +-
 zh/docs/dashboard/2.6.1/back-end-tests/index.html  |  10 +-
 .../dashboard/2.6.1/deploy-with-docker/index.html  |  10 +-
 zh/docs/dashboard/2.6.1/deploy-with-rpm/index.html |  10 +-
 zh/docs/dashboard/2.6.1/deploy/index.html          |  10 +-
 zh/docs/dashboard/2.6.1/develop/index.html         |  10 +-
 zh/docs/dashboard/2.6.1/front-end-e2e/index.html   |  10 +-
 zh/docs/dashboard/2.6.1/tags/index.html            |  10 +-
 zh/docs/dashboard/2.6/FAQ/index.html               |  10 +-
 zh/docs/dashboard/2.6/I18N_USER_GUIDE/index.html   |  10 +-
 zh/docs/dashboard/2.6/IGNORE_DOC/index.html        |  10 +-
 .../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 +-
 zh/docs/dashboard/2.6/USER_GUIDE/index.html        |  10 +-
 zh/docs/dashboard/2.6/api/api/index.html           |  10 +-
 zh/docs/dashboard/2.6/back-end-tests/index.html    |  10 +-
 .../dashboard/2.6/deploy-with-docker/index.html    |  10 +-
 zh/docs/dashboard/2.6/deploy-with-rpm/index.html   |  10 +-
 zh/docs/dashboard/2.6/deploy/index.html            |  10 +-
 zh/docs/dashboard/2.6/develop/index.html           |  10 +-
 zh/docs/dashboard/2.6/front-end-e2e/index.html     |  10 +-
 zh/docs/dashboard/2.6/tags/index.html              |  10 +-
 zh/docs/dashboard/2.7.1/FAQ/index.html             |  10 +-
 zh/docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html |  10 +-
 zh/docs/dashboard/2.7.1/IGNORE_DOC/index.html      |  10 +-
 .../2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  10 +-
 zh/docs/dashboard/2.7.1/USER_GUIDE/index.html      |  10 +-
 zh/docs/dashboard/2.7.1/api/api/index.html         |  10 +-
 zh/docs/dashboard/2.7.1/back-end-tests/index.html  |  10 +-
 .../dashboard/2.7.1/deploy-with-docker/index.html  |  10 +-
 zh/docs/dashboard/2.7.1/deploy-with-rpm/index.html |  10 +-
 zh/docs/dashboard/2.7.1/deploy/index.html          |  10 +-
 zh/docs/dashboard/2.7.1/develop/index.html         |  10 +-
 zh/docs/dashboard/2.7.1/front-end-e2e/index.html   |  10 +-
 zh/docs/dashboard/2.7.1/tags/index.html            |  10 +-
 zh/docs/dashboard/2.7/FAQ/index.html               |  10 +-
 zh/docs/dashboard/2.7/I18N_USER_GUIDE/index.html   |  10 +-
 zh/docs/dashboard/2.7/IGNORE_DOC/index.html        |  10 +-
 .../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 +-
 zh/docs/dashboard/2.7/USER_GUIDE/index.html        |  10 +-
 zh/docs/dashboard/2.7/api/api/index.html           |  10 +-
 zh/docs/dashboard/2.7/back-end-tests/index.html    |  10 +-
 .../dashboard/2.7/deploy-with-docker/index.html    |  10 +-
 zh/docs/dashboard/2.7/deploy-with-rpm/index.html   |  10 +-
 zh/docs/dashboard/2.7/deploy/index.html            |  10 +-
 zh/docs/dashboard/2.7/develop/index.html           |  10 +-
 zh/docs/dashboard/2.7/front-end-e2e/index.html     |  10 +-
 zh/docs/dashboard/2.7/tags/index.html              |  10 +-
 zh/docs/dashboard/2.8/FAQ/index.html               |  10 +-
 zh/docs/dashboard/2.8/I18N_USER_GUIDE/index.html   |  10 +-
 zh/docs/dashboard/2.8/IGNORE_DOC/index.html        |  10 +-
 .../2.8/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 +-
 zh/docs/dashboard/2.8/USER_GUIDE/index.html        |  10 +-
 zh/docs/dashboard/2.8/api/api/index.html           |  10 +-
 zh/docs/dashboard/2.8/back-end-tests/index.html    |  10 +-
 .../dashboard/2.8/deploy-with-docker/index.html    |  10 +-
 zh/docs/dashboard/2.8/deploy-with-rpm/index.html   |  10 +-
 zh/docs/dashboard/2.8/deploy/index.html            |  10 +-
 zh/docs/dashboard/2.8/develop/index.html           |  10 +-
 zh/docs/dashboard/2.8/front-end-e2e/index.html     |  10 +-
 zh/docs/dashboard/2.8/tags/index.html              |  10 +-
 zh/docs/dashboard/FAQ/index.html                   |  10 +-
 zh/docs/dashboard/I18N_USER_GUIDE/index.html       |  10 +-
 zh/docs/dashboard/IGNORE_DOC/index.html            |  10 +-
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html |  10 +-
 zh/docs/dashboard/USER_GUIDE/index.html            |  10 +-
 zh/docs/dashboard/api/api/index.html               |  10 +-
 zh/docs/dashboard/back-end-tests/index.html        |  10 +-
 zh/docs/dashboard/deploy-with-docker/index.html    |  10 +-
 zh/docs/dashboard/deploy-with-rpm/index.html       |  10 +-
 zh/docs/dashboard/deploy/index.html                |  10 +-
 zh/docs/dashboard/develop/index.html               |  10 +-
 zh/docs/dashboard/front-end-e2e/index.html         |  10 +-
 zh/docs/dashboard/next/FAQ/index.html              |  10 +-
 zh/docs/dashboard/next/I18N_USER_GUIDE/index.html  |  10 +-
 zh/docs/dashboard/next/IGNORE_DOC/index.html       |  12 +-
 .../next/IMPORT_OPENAPI_USER_GUIDE/index.html      |  10 +-
 zh/docs/dashboard/next/USER_GUIDE/index.html       |  10 +-
 zh/docs/dashboard/next/api/api/index.html          |  10 +-
 zh/docs/dashboard/next/back-end-tests/index.html   |  10 +-
 .../dashboard/next/deploy-with-docker/index.html   |  10 +-
 zh/docs/dashboard/next/deploy-with-rpm/index.html  |  10 +-
 zh/docs/dashboard/next/deploy/index.html           |  10 +-
 zh/docs/dashboard/next/develop/index.html          |  10 +-
 zh/docs/dashboard/next/front-end-e2e/index.html    |  10 +-
 zh/docs/dashboard/next/tags/index.html             |  10 +-
 zh/docs/dashboard/tags/index.html                  |  10 +-
 zh/docs/docker/IGNORE_DOC/index.html               |  10 +-
 zh/docs/docker/apisix-2.10.0/IGNORE_DOC/index.html |  10 +-
 zh/docs/docker/apisix-2.10.0/build/index.html      |  10 +-
 zh/docs/docker/apisix-2.10.0/example/index.html    |  10 +-
 zh/docs/docker/apisix-2.10.0/manual/index.html     |  10 +-
 zh/docs/docker/apisix-2.10.0/tags/index.html       |  10 +-
 zh/docs/docker/apisix-2.9.0/IGNORE_DOC/index.html  |  10 +-
 zh/docs/docker/apisix-2.9.0/build/index.html       |  10 +-
 zh/docs/docker/apisix-2.9.0/example/index.html     |  10 +-
 zh/docs/docker/apisix-2.9.0/manual/index.html      |  10 +-
 zh/docs/docker/apisix-2.9.0/tags/index.html        |  10 +-
 zh/docs/docker/build/index.html                    |  10 +-
 zh/docs/docker/example/index.html                  |  10 +-
 zh/docs/docker/manual/index.html                   |  10 +-
 zh/docs/docker/next/IGNORE_DOC/index.html          |  12 +-
 zh/docs/docker/next/build/index.html               |  10 +-
 zh/docs/docker/next/example/index.html             |  10 +-
 zh/docs/docker/next/manual/index.html              |  10 +-
 zh/docs/docker/next/tags/index.html                |  10 +-
 zh/docs/docker/tags/index.html                     |  10 +-
 zh/docs/general/2fa/index.html                     |  12 +-
 zh/docs/general/committer-guide/index.html         |  12 +-
 zh/docs/general/contributor-guide/index.html       |  12 +-
 .../general/integrate-with-project-docs/index.html |  12 +-
 zh/docs/general/release-guide/index.html           |  12 +-
 zh/docs/general/security/index.html                |  12 +-
 zh/docs/general/subscribe-guide/index.html         |  12 +-
 zh/docs/general/tags/index.html                    |  10 +-
 .../go-plugin-runner/0.1.0/IGNORE_DOC/index.html   |  10 +-
 .../0.1.0/developer-guide/index.html               |  10 +-
 .../0.1.0/getting-started/index.html               |  10 +-
 zh/docs/go-plugin-runner/0.1.0/tags/index.html     |  10 +-
 zh/docs/go-plugin-runner/IGNORE_DOC/index.html     |  10 +-
 .../go-plugin-runner/developer-guide/index.html    |  10 +-
 .../go-plugin-runner/getting-started/index.html    |  10 +-
 .../go-plugin-runner/next/IGNORE_DOC/index.html    |  12 +-
 .../next/developer-guide/index.html                |  10 +-
 .../next/getting-started/index.html                |  10 +-
 zh/docs/go-plugin-runner/next/tags/index.html      |  10 +-
 zh/docs/go-plugin-runner/tags/index.html           |  10 +-
 zh/docs/helm-chart/FAQ/index.html                  |  10 +-
 zh/docs/helm-chart/IGNORE_DOC/index.html           |  12 +-
 zh/docs/helm-chart/apisix-dashboard/index.html     |  10 +-
 .../apisix-ingress-controller/index.html           |  10 +-
 zh/docs/helm-chart/apisix/index.html               |  10 +-
 zh/docs/helm-chart/tags/index.html                 |  10 +-
 zh/docs/index.html                                 |  10 +-
 zh/docs/ingress-controller/FAQ/index.html          |  10 +-
 zh/docs/ingress-controller/IGNORE_DOC/index.html   |  12 +-
 .../concepts/annotations/index.html                |  10 +-
 .../concepts/apisix_cluster_config/index.html      |  10 +-
 .../concepts/apisix_route/index.html               |  10 +-
 .../concepts/apisix_tls/index.html                 |  10 +-
 .../concepts/apisix_upstream/index.html            |  10 +-
 zh/docs/ingress-controller/contribute/index.html   |  10 +-
 .../ingress-controller/deployments/ack/index.html  |  10 +-
 .../ingress-controller/deployments/aws/index.html  |  10 +-
 .../deployments/azure/index.html                   |  10 +-
 .../ingress-controller/deployments/gke/index.html  |  10 +-
 .../deployments/k3s-rke/index.html                 |  10 +-
 .../deployments/kubesphere/index.html              |  10 +-
 .../deployments/minikube/index.html                |  10 +-
 .../ingress-controller/deployments/tke/index.html  |  10 +-
 zh/docs/ingress-controller/design/index.html       |  10 +-
 zh/docs/ingress-controller/development/index.html  |  10 +-
 .../ingress-controller/getting-started/index.html  |  10 +-
 .../practices/check-crd-status/index.html          |  10 +-
 .../ingress-controller/practices/index/index.html  |  10 +-
 .../index.html                                     |  10 +-
 .../index.html                                     |  10 +-
 .../ingress-controller/practices/mtls/index.html   |  10 +-
 .../index.html                                     |  10 +-
 .../practices/proxy-the-httpbin-service/index.html |  10 +-
 .../practices/the-hard-way/index.html              |  10 +-
 .../references/apisix_cluster_config/index.html    |  10 +-
 .../references/apisix_route_v1/index.html          |  10 +-
 .../references/apisix_route_v2alpha1/index.html    |  10 +-
 .../references/apisix_route_v2beta1/index.html     |  10 +-
 .../references/apisix_tls/index.html               |  10 +-
 .../references/apisix_upstream/index.html          |  10 +-
 zh/docs/ingress-controller/tags/index.html         |  10 +-
 zh/docs/java-plugin-runner/IGNORE_DOC/index.html   |  10 +-
 zh/docs/java-plugin-runner/development/index.html  |  10 +-
 zh/docs/java-plugin-runner/how-it-works/index.html |  10 +-
 .../java-plugin-runner/next/IGNORE_DOC/index.html  |  12 +-
 .../java-plugin-runner/next/development/index.html |  10 +-
 .../next/how-it-works/index.html                   |  10 +-
 zh/docs/java-plugin-runner/next/tags/index.html    |  10 +-
 .../index.html                                     |  10 +-
 zh/docs/java-plugin-runner/tags/index.html         |  10 +-
 .../index.html                                     |  10 +-
 zh/docs/python-plugin-runner/IGNORE_DOC/index.html |  10 +-
 .../developer-guide/index.html                     |  10 +-
 .../getting-started/index.html                     |  10 +-
 .../next/IGNORE_DOC/index.html                     |  12 +-
 .../next/developer-guide/index.html                |  10 +-
 .../next/getting-started/index.html                |  10 +-
 zh/docs/python-plugin-runner/next/tags/index.html  |  10 +-
 zh/docs/python-plugin-runner/tags/index.html       |  10 +-
 zh/downloads/index.html                            |  10 +-
 zh/events/archive/index.html                       |  10 +-
 zh/help/index.html                                 |  10 +-
 zh/index.html                                      |  10 +-
 zh/plugins/index.html                              |  10 +-
 .../11/15/release-apache-apisix-0.9/index.html     |  14 +-
 .../2019/9/29/release-apache-apisix-0.8/index.html |  16 +-
 .../2019/9/6/release-apache-apisix-0.7/index.html  |  12 +-
 .../2020/1/15/release-apache-apisix-1.0/index.html |  12 +-
 .../10/28/release-apache-apisix-2.0/index.html     |  12 +-
 .../2020/12/1/release-apache-apisix-2.1/index.html |  14 +-
 .../release-apache-apisix-dashboard-2.2/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../2020/2/24/release-apache-apisix-1.1/index.html |  12 +-
 .../release-apache-apisix-dashboard-1.0/index.html |  12 +-
 .../2020/4/20/release-apache-apisix-1.2/index.html |  12 +-
 .../2020/5/26/release-apache-apisix-1.3/index.html |  12 +-
 .../2020/6/30/release-apache-apisix-1.4/index.html |  12 +-
 .../7/20/release-apache-apisix-1.4.1/index.html    |  12 +-
 .../release-apache-apisix-dashboard-1.5/index.html |  12 +-
 .../2020/8/6/release-apache-apisix-1.5/index.html  |  12 +-
 .../release-apache-apisix-dashboard-2.3/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../2021/1/8/release-apache-apisix-2.2/index.html  |  12 +-
 .../index.html                                     |  12 +-
 .../release-apache-apisix-dashboard-2.4/index.html |  12 +-
 .../2021/2/9/release-apache-apisix-2.3/index.html  |  12 +-
 .../index.html                                     |  12 +-
 .../release-apache-apisix-dashboard-2.5/index.html |  12 +-
 .../2021/3/5/release-apache-apisix-2.4/index.html  |  12 +-
 .../index.html                                     |  16 +-
 .../release-apache-apisix-dashboard-2.6/index.html |  12 +-
 .../2021/4/5/release-apache-apisix-2.5/index.html  |  14 +-
 .../index.html                                     |  12 +-
 .../2021/5/24/release-apache-apisix-2.6/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../release-apache-apisix-dashboard-2.7/index.html |  12 +-
 .../index.html                                     |  14 +-
 .../2021/6/25/release-apache-apisix-2.7/index.html |  12 +-
 .../index.html                                     |  14 +-
 .../index.html                                     |  12 +-
 .../2021/7/27/release-apache-apisix-2.8/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  14 +-
 .../2021/8/27/release-apache-apisix-2.9/index.html |  12 +-
 .../index.html                                     |  12 +-
 .../index.html                                     |  12 +-
 .../release-apache-apisix-dashboard-2.8/index.html |  12 +-
 zh/releases/archive/index.html                     |  10 +-
 zh/releases/index.html                             |  16 +-
 zh/releases/page/2/index.html                      |  18 +-
 zh/releases/page/3/index.html                      |  12 +-
 zh/releases/page/4/index.html                      |  14 +-
 zh/releases/page/5/index.html                      |  16 +-
 zh/releases/tags/apisix-dashboard/index.html       |  12 +-
 .../tags/apisix-go-plugin-runner/index.html        |  12 +-
 .../tags/apisix-ingress-controller/index.html      |  20 +-
 .../tags/apisix-java-plugin-runner/index.html      |  12 +-
 .../tags/apisix-python-plugin-runner/index.html    |  12 +-
 zh/releases/tags/apisix/index.html                 |  20 +-
 zh/releases/tags/index.html                        |  12 +-
 zh/search/index.html                               |  12 +-
 zh/sections/architecture/index.html                |  10 +-
 zh/sections/benefits/index.html                    |  10 +-
 zh/sections/comparison/index.html                  |  10 +-
 zh/sections/components/arrowAnim/index.html        |  10 +-
 zh/sections/components/eventPosterCard/index.html  |  10 +-
 zh/sections/components/heroCanvas/index.html       |  10 +-
 zh/sections/components/ossCanvas/index.html        |  10 +-
 zh/sections/endcta/index.html                      |  10 +-
 zh/sections/features/index.html                    |  10 +-
 zh/sections/heroSection/index.html                 |  10 +-
 zh/sections/newsSection/index.html                 |  10 +-
 zh/sections/opensourcePromo/index.html             |  10 +-
 zh/showcase/index.html                             |  10 +-
 zh/sitemap.xml                                     |   2 +-
 zh/team/index.html                                 |  10 +-
 2350 files changed, 13342 insertions(+), 11952 deletions(-)

diff --git a/404.html b/404.html
index 07ebc35..6add5d1 100644
--- a/404.html
+++ b/404.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://ap [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://ap [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html b/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
index ec5f5d7..29fb690 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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 Way 运作开源商业化公司,这行得通吗? | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://api [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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 Way 运作开源商业化公司,这行得通吗? | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="按照 Apache Way 运作开源商业化公司,这行得通吗? | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" propert [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html b/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
index acb7041..2106321 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 从开源项目到商业化之路 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:imag [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Apache-APISIX-Incubator-Journey/index.html b/articles/Apache-APISIX-Incubator-Journey/index.html
index d72c781..3ca494b 100644
--- a/articles/Apache-APISIX-Incubator-Journey/index.html
+++ b/articles/Apache-APISIX-Incubator-Journey/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 的孵化器之旅 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Apache-APISIX-Kubernetes-Ingress/index.html b/articles/Apache-APISIX-Kubernetes-Ingress/index.html
index 3ce599e..dff51c8 100644
--- a/articles/Apache-APISIX-Kubernetes-Ingress/index.html
+++ b/articles/Apache-APISIX-Kubernetes-Ingress/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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 的 Kubernetes Ingress 的实现 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content=" [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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 的 Kubernetes Ingress 的实现 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="基于 Apache APISIX 的 Kubernetes Ingress 的实现 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html b/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
index f9ee704..47ee248 100644
--- a/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
+++ b/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" p [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html b/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
index a048a62..ead5bb9 100644
--- a/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
+++ b/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://api [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="如何将 Apache APISIX 扩展为一个服务网格的边车 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" propert [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html b/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
index 0f73cec..16faeb8 100644
--- a/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
+++ b/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="依托社区让 Apache APISIX 高速发展 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Rendering-Community-Events-Using-ECharts/index.html b/articles/Rendering-Community-Events-Using-ECharts/index.html
index 49ddd59..b10518c 100644
--- a/articles/Rendering-Community-Events-Using-ECharts/index.html
+++ b/articles/Rendering-Community-Events-Using-ECharts/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 ECharts 呈现社区活动的渲染图 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apach [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 ECharts 呈现社区活动的渲染图 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="使用 ECharts 呈现社区活动的渲染图 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" conte [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Speed-Limiting-With-Apache-APISIX/index.html b/articles/Speed-Limiting-With-Apache-APISIX/index.html
index 8bc02de..33f67d4 100644
--- a/articles/Speed-Limiting-With-Apache-APISIX/index.html
+++ b/articles/Speed-Limiting-With-Apache-APISIX/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="使用 Apache APISIX 实现限流限速 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" c [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html b/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
index ee782c2..7aa629f 100644
--- a/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
+++ b/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">用 Chaos Mesh 测试 Apache APISIX 的恢复能力 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https: [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">用 Chaos Mesh 测试 Apache APISIX 的恢复能力 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="用 Chaos Mesh 测试 Apache APISIX 的恢复能力 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="tru [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/The-Appeal-of-OpenSource/index.html b/articles/The-Appeal-of-OpenSource/index.html
index f91c351..4c8e6bf 100644
--- a/articles/The-Appeal-of-OpenSource/index.html
+++ b/articles/The-Appeal-of-OpenSource/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="开源的魅力 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/The-Evolution-of-Apache-APISIX/index.html b/articles/The-Evolution-of-Apache-APISIX/index.html
index 46282f5..963ee8f 100644
--- a/articles/The-Evolution-of-Apache-APISIX/index.html
+++ b/articles/The-Evolution-of-Apache-APISIX/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 的演变 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="http [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html b/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
index 14d62f6..02efac2 100644
--- a/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
+++ b/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="使用 Apache APISIX 进行认证和授权 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/archive/index.html b/articles/archive/index.html
index 809b2cb..598ac87 100644
--- a/articles/archive/index.html
+++ b/articles/archive/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/atom.xml b/articles/atom.xml
index 39e4bf7..18bb02c 100644
--- a/articles/atom.xml
+++ b/articles/atom.xml
@@ -2,7 +2,7 @@
 <feed xmlns="http://www.w3.org/2005/Atom">
     <id>https://apisix.apache.org/articles</id>
     <title>Apache APISIX® --  Cloud-Native API Gateway Blog</title>
-    <updated>2021-10-06T09:15:27.367Z</updated>
+    <updated>2021-10-06T13:25:58.219Z</updated>
     <generator>https://github.com/jpmonette/feed</generator>
     <link rel="alternate" href="https://apisix.apache.org/articles"/>
     <subtitle>Apache APISIX® --  Cloud-Native API Gateway Blog</subtitle>
@@ -11,14 +11,14 @@
         <title type="html"><![CDATA[Apache APISIX 从开源项目到商业化之路]]></title>
         <id>Apache APISIX 从开源项目到商业化之路</id>
         <link href="https://apisix.apache.org/articles/Apache-APISIX-From-OpenSource-Commercialization"/>
-        <updated>2021-10-06T09:15:27.367Z</updated>
+        <updated>2021-10-06T13:25:58.219Z</updated>
         <summary type="html"><![CDATA[Apache APISIX 从开源项目到商业化之路.]]></summary>
     </entry>
     <entry>
         <title type="html"><![CDATA[Apache APISIX 在移动云对象存储 EOS 的应用与实践]]></title>
         <id>Apache APISIX 在移动云对象存储 EOS 的应用与实践</id>
         <link href="https://apisix.apache.org/articles/Apache-APISIX-in-China-Mobile-Cloud"/>
-        <updated>2021-10-06T09:15:27.367Z</updated>
+        <updated>2021-10-06T13:25:58.219Z</updated>
         <summary type="html"><![CDATA[该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与实践经验分享。首先介绍了中国移动公有云建设规划及对象存储产品发展演进历程,然后阐述了我们为什么选择 APISIX 作为负载均衡网关,并对 EOS 流量治理架构演进三个阶段进行进行了详细介绍。同时,我们还分享了基于 APISIX 我们解决了哪些实际生产问题,做了哪些方案及开发工作,最后对我们未来的演进做了一些规划说明。]]></summary>
     </entry>
     <entry>
diff --git a/articles/index.html b/articles/index.html
index 5e7aea5..a1e3beb 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/page/2/index.html b/articles/page/2/index.html
index 4b5d116..593fe0e 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/rss.xml b/articles/rss.xml
index 6ce0f40..de1cf60 100644
--- a/articles/rss.xml
+++ b/articles/rss.xml
@@ -4,21 +4,21 @@
         <title>Apache APISIX® --  Cloud-Native API Gateway Blog</title>
         <link>https://apisix.apache.org/articles</link>
         <description>Apache APISIX® --  Cloud-Native API Gateway Blog</description>
-        <lastBuildDate>Wed, 06 Oct 2021 09:15:27 GMT</lastBuildDate>
+        <lastBuildDate>Wed, 06 Oct 2021 13:25:58 GMT</lastBuildDate>
         <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
         <generator>https://github.com/jpmonette/feed</generator>
         <item>
             <title><![CDATA[Apache APISIX 从开源项目到商业化之路]]></title>
             <link>https://apisix.apache.org/articles/Apache-APISIX-From-OpenSource-Commercialization</link>
             <guid>Apache APISIX 从开源项目到商业化之路</guid>
-            <pubDate>Wed, 06 Oct 2021 09:15:27 GMT</pubDate>
+            <pubDate>Wed, 06 Oct 2021 13:25:58 GMT</pubDate>
             <description><![CDATA[Apache APISIX 从开源项目到商业化之路.]]></description>
         </item>
         <item>
             <title><![CDATA[Apache APISIX 在移动云对象存储 EOS 的应用与实践]]></title>
             <link>https://apisix.apache.org/articles/Apache-APISIX-in-China-Mobile-Cloud</link>
             <guid>Apache APISIX 在移动云对象存储 EOS 的应用与实践</guid>
-            <pubDate>Wed, 06 Oct 2021 09:15:27 GMT</pubDate>
+            <pubDate>Wed, 06 Oct 2021 13:25:58 GMT</pubDate>
             <description><![CDATA[该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与实践经验分享。首先介绍了中国移动公有云建设规划及对象存储产品发展演进历程,然后阐述了我们为什么选择 APISIX 作为负载均衡网关,并对 EOS 流量治理架构演进三个阶段进行进行了详细介绍。同时,我们还分享了基于 APISIX 我们解决了哪些实际生产问题,做了哪些方案及开发工作,最后对我们未来的演进做了一些规划说明。]]></description>
         </item>
         <item>
diff --git a/assets/css/styles.28b243d6.css b/assets/css/styles.28b243d6.css
deleted file mode 100644
index f5e6db1..0000000
--- a/assets/css/styles.28b243d6.css
+++ /dev/null
@@ -1 +0,0 @@
-.container,.row .col{padding:0 var(--ifm-spacing-horizontal);width:100%}.row .col,img{max-width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.button,.clean-btn,a{cursor:pointer}.breadcrumbs__link,.button{transition-timing-function: [...]
\ No newline at end of file
diff --git a/assets/css/styles.921c0944.css b/assets/css/styles.921c0944.css
new file mode 100644
index 0000000..8e4fa68
--- /dev/null
+++ b/assets/css/styles.921c0944.css
@@ -0,0 +1 @@
+.container,.row .col{padding:0 var(--ifm-spacing-horizontal);width:100%}.row .col,img{max-width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.button,.clean-btn,a{cursor:pointer}.breadcrumbs__link,.button{transition-timing-function: [...]
\ No newline at end of file
diff --git a/assets/js/01a85c17.5a0c1bdd.js b/assets/js/01a85c17.5a0c1bdd.js
new file mode 100644
index 0000000..d2436e0
--- /dev/null
+++ b/assets/js/01a85c17.5a0c1bdd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[64013],{85562:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var r=n(67294),a=n(63366),c=n(86010),l=n(46254),i=n(88014),s=n(571);var o=function(e){var t=e.sidebar,n=e.toc,o=e.children,u=(0,a.Z)(e,["sidebar","toc","children"]),m=t&&t.items.length>0;return r.createElement(l.Z,u,r.createElement("div",{className:"container margin-vert--lg"},r.createElement("div",{className:"row"},m&&r.createElement("aside",{className [...]
\ No newline at end of file
diff --git a/assets/js/01a85c17.c7c5b309.js b/assets/js/01a85c17.c7c5b309.js
deleted file mode 100644
index 1a76d1e..0000000
--- a/assets/js/01a85c17.c7c5b309.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[64013],{46165:function(e,t,n){n.d(t,{Z:function(){return E}});var r=n(63366),a=n(67294),l=n(86010),c=n(46254),i=n(36742),s="sidebar_2ahu",o="sidebarItemTitle_2hhb",u="sidebarItemList_2xAf",m="sidebarItem_2UVv",f="sidebarItemLink_1RT6",d="sidebarItemLinkActive_12pM",v=n(24973);function h(e){var t=e.sidebar;return 0===t.items.length?null:a.createElement("nav",{className:(0,l.Z)(s,"thin-scrollbar"),"aria-label":(0,v.I)({id:"theme [...]
\ No newline at end of file
diff --git a/assets/js/09b17eb5.05ac2ae9.js b/assets/js/09b17eb5.5c714323.js
similarity index 98%
rename from assets/js/09b17eb5.05ac2ae9.js
rename to assets/js/09b17eb5.5c714323.js
index 2c3aa94..eaa1db0 100644
--- a/assets/js/09b17eb5.05ac2ae9.js
+++ b/assets/js/09b17eb5.5c714323.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[29556],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[29556],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/zh/assets/js/17896441.f564d9de.js b/assets/js/17896441.f240ed3e.js
similarity index 81%
rename from zh/assets/js/17896441.f564d9de.js
rename to assets/js/17896441.f240ed3e.js
index 4a38a87..39fbc7f 100644
--- a/zh/assets/js/17896441.f564d9de.js
+++ b/assets/js/17896441.f240ed3e.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27918],{89362:function(e,t,a){a.r(t),a.d(t,{default:function(){return D}});var n=a(67294),r=a(86010),l=a(93783),i=a(36742),o=a(24973);var s=function(e){var t=e.metadata;return n.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,o.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages navigation",description:"The ARIA label for the docs pagination"})},n.createElement("div",{className:"pagi [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27918],{19200:function(e,t,a){a.r(t),a.d(t,{default:function(){return R}});var n=a(67294),r=a(86010),l=a(93783),i=a(36742),o=a(24973);var s=function(e){var t=e.metadata;return n.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,o.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages navigation",description:"The ARIA label for the docs pagination"})},n.createElement("div",{className:"pagi [...]
\ No newline at end of file
diff --git a/assets/js/19945770.b76cd215.js b/assets/js/19945770.b76cd215.js
deleted file mode 100644
index 3974b0d..0000000
--- a/assets/js/19945770.b76cd215.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[55067],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return f}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/19945770.ccb32c2c.js b/assets/js/19945770.ccb32c2c.js
new file mode 100644
index 0000000..5748385
--- /dev/null
+++ b/assets/js/19945770.ccb32c2c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[55067],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return f}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.0599cdd5.js b/assets/js/3393d167.cd00f3ae.js
similarity index 89%
rename from assets/js/3393d167.0599cdd5.js
rename to assets/js/3393d167.cd00f3ae.js
index 24c35d7..34ffab2 100644
--- a/assets/js/3393d167.0599cdd5.js
+++ b/assets/js/3393d167.cd00f3ae.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/358566b4.72d385ea.js b/assets/js/358566b4.6d212014.js
similarity index 89%
rename from assets/js/358566b4.72d385ea.js
rename to assets/js/358566b4.6d212014.js
index 148ea85..35a6732 100644
--- a/assets/js/358566b4.72d385ea.js
+++ b/assets/js/358566b4.6d212014.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.c1637ed2.js b/assets/js/3dc9f306.089ce6bb.js
similarity index 57%
rename from assets/js/3dc9f306.c1637ed2.js
rename to assets/js/3dc9f306.089ce6bb.js
index 578535c..707f249 100644
--- a/assets/js/3dc9f306.c1637ed2.js
+++ b/assets/js/3dc9f306.089ce6bb.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(e,t,o){o.d(t,{Zo:function(){return l},kt:function(){return d}});var n=o(67294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(e,t,o){o.d(t,{Zo:function(){return l},kt:function(){return d}});var n=o(67294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/40fb2fae.c66b77c7.js b/assets/js/40fb2fae.8991d54d.js
similarity index 89%
rename from assets/js/40fb2fae.c66b77c7.js
rename to assets/js/40fb2fae.8991d54d.js
index 198b5a6..b79780d 100644
--- a/assets/js/40fb2fae.c66b77c7.js
+++ b/assets/js/40fb2fae.8991d54d.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/4c20006b.d5655f6e.js b/assets/js/4c20006b.331d0874.js
similarity index 88%
rename from assets/js/4c20006b.d5655f6e.js
rename to assets/js/4c20006b.331d0874.js
index 475500b..99f8515 100644
--- a/assets/js/4c20006b.d5655f6e.js
+++ b/assets/js/4c20006b.331d0874.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/507e1a4c.c7ee8b4b.js b/assets/js/507e1a4c.b5bef316.js
similarity index 98%
rename from assets/js/507e1a4c.c7ee8b4b.js
rename to assets/js/507e1a4c.b5bef316.js
index 9b8a05b..e785da6 100644
--- a/assets/js/507e1a4c.c7ee8b4b.js
+++ b/assets/js/507e1a4c.b5bef316.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[58509],{62276:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","metadata":{"permalink":"/articles/Apache-APISIX-From-OpenSource-Commercialization","source":"@site/articles/Apache-APISIX-From-OpenSource-Commercialization.md","title":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","description":"Apache APISI [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[58509],{62276:function(e){e.exports=JSON.parse('{"blogPosts":[{"id":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","metadata":{"permalink":"/articles/Apache-APISIX-From-OpenSource-Commercialization","source":"@site/articles/Apache-APISIX-From-OpenSource-Commercialization.md","title":"Apache APISIX \u4ece\u5f00\u6e90\u9879\u76ee\u5230\u5546\u4e1a\u5316\u4e4b\u8def","description":"Apache APISI [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.2fdc1ca7.js b/assets/js/50facf8e.2fdc1ca7.js
deleted file mode 100644
index e31cc7c..0000000
--- a/assets/js/50facf8e.2fdc1ca7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/50facf8e.84c78a31.js b/assets/js/50facf8e.84c78a31.js
new file mode 100644
index 0000000..afd6d4b
--- /dev/null
+++ b/assets/js/50facf8e.84c78a31.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/542fd41f.88c99d77.js b/assets/js/542fd41f.7542030d.js
similarity index 88%
rename from assets/js/542fd41f.88c99d77.js
rename to assets/js/542fd41f.7542030d.js
index deff0ef..3942d21 100644
--- a/assets/js/542fd41f.88c99d77.js
+++ b/assets/js/542fd41f.7542030d.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/601c6eaa.ceddf4f7.js b/assets/js/601c6eaa.baff12e4.js
similarity index 89%
rename from assets/js/601c6eaa.ceddf4f7.js
rename to assets/js/601c6eaa.baff12e4.js
index b4aaf9b..f9cb4e5 100644
--- a/assets/js/601c6eaa.ceddf4f7.js
+++ b/assets/js/601c6eaa.baff12e4.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.e3107cde.js b/assets/js/66fbb9c2.d47a8e5c.js
similarity index 50%
rename from assets/js/66fbb9c2.e3107cde.js
rename to assets/js/66fbb9c2.d47a8e5c.js
index 0308dff..5d50eb3 100644
--- a/assets/js/66fbb9c2.e3107cde.js
+++ b/assets/js/66fbb9c2.d47a8e5c.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/6875c492.7d46aa29.js b/assets/js/6875c492.7d46aa29.js
new file mode 100644
index 0000000..417e357
--- /dev/null
+++ b/assets/js/6875c492.7d46aa29.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[48610],{3905:function(e,t,r){r.d(t,{Zo:function(){return s},kt:function(){return f}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/6875c492.8bebbb2b.js b/assets/js/6875c492.8bebbb2b.js
deleted file mode 100644
index 37a08c8..0000000
--- a/assets/js/6875c492.8bebbb2b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[48610],{69404:function(e,t,a){a.r(t),a.d(t,{default:function(){return u}});var s=a(67294),l=a(36742),r=a(46165),n=a(94884),o=a(24973),g=a(941);function u(e){var t,a=e.metadata,u=e.items,c=e.sidebar,i=a.allTagsPath,m=a.name,p=a.count,d=(t=(0,g.c2)().selectMessage,function(e){return t(e,(0,o.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your lan [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.4170f1f0.js b/assets/js/7af3052c.4170f1f0.js
new file mode 100644
index 0000000..c1487ad
--- /dev/null
+++ b/assets/js/7af3052c.4170f1f0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){t.d(a,{Zo:function(){return d},kt:function(){return u}});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.cea7d39a.js b/assets/js/7af3052c.cea7d39a.js
deleted file mode 100644
index 8630d1b..0000000
--- a/assets/js/7af3052c.cea7d39a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){t.d(a,{Zo:function(){return d},kt:function(){return u}});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t [...]
\ No newline at end of file
diff --git a/assets/js/80791de8.7a8e38eb.js b/assets/js/80791de8.ca22b5bf.js
similarity index 89%
rename from assets/js/80791de8.7a8e38eb.js
rename to assets/js/80791de8.ca22b5bf.js
index eee700b..cf1a574 100644
--- a/assets/js/80791de8.7a8e38eb.js
+++ b/assets/js/80791de8.ca22b5bf.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.b341d857.js b/assets/js/8e784bf3.b341d857.js
new file mode 100644
index 0000000..ba4eeb6
--- /dev/null
+++ b/assets/js/8e784bf3.b341d857.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,o){o.d(t,{Zo:function(){return p},kt:function(){return d}});var r=o(67294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.bc8c1985.js b/assets/js/8e784bf3.bc8c1985.js
deleted file mode 100644
index 80ae01e..0000000
--- a/assets/js/8e784bf3.bc8c1985.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,o){o.d(t,{Zo:function(){return p},kt:function(){return d}});var r=o(67294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/8eb4e46b.ceded086.js b/assets/js/8eb4e46b.ceded086.js
deleted file mode 100644
index 9c98252..0000000
--- a/assets/js/8eb4e46b.ceded086.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[10001],{82638:function(e){e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":2,"totalCount":15,"previousPage":"/blog","nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/8f700fa6.d9165468.js b/assets/js/8f700fa6.7b2e6885.js
similarity index 97%
rename from assets/js/8f700fa6.d9165468.js
rename to assets/js/8f700fa6.7b2e6885.js
index 6a793b1..f6159f3 100644
--- a/assets/js/8f700fa6.d9165468.js
+++ b/assets/js/8f700fa6.7b2e6885.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[53963],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[53963],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/90fc8a94.056aa62c.js b/assets/js/90fc8a94.e2ad4ada.js
similarity index 98%
rename from assets/js/90fc8a94.056aa62c.js
rename to assets/js/90fc8a94.e2ad4ada.js
index 1fc2297..c1abf54 100644
--- a/assets/js/90fc8a94.056aa62c.js
+++ b/assets/js/90fc8a94.e2ad4ada.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[64125],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[64125],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/941960b1.7ab4a04b.js b/assets/js/941960b1.ea225c57.js
similarity index 97%
rename from assets/js/941960b1.7ab4a04b.js
rename to assets/js/941960b1.ea225c57.js
index 1e7f758..a1046b7 100644
--- a/assets/js/941960b1.7ab4a04b.js
+++ b/assets/js/941960b1.ea225c57.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[41950],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[41950],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return m}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/96546.54ed72be.js b/assets/js/96546.54ed72be.js
deleted file mode 100644
index 2388f04..0000000
--- a/assets/js/96546.54ed72be.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[96546],{3905:function(e,t,r){r.d(t,{Zo:function(){return s},kt:function(){return f}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/a6aa9e1f.972fafe2.js b/assets/js/a6aa9e1f.972fafe2.js
new file mode 100644
index 0000000..e0a1b24
--- /dev/null
+++ b/assets/js/a6aa9e1f.972fafe2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[93089],{3905:function(e,t,n){n.d(t,{Zo:function(){return m},kt:function(){return p}});var r=n(67294);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 l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/a6aa9e1f.f1526462.js b/assets/js/a6aa9e1f.f1526462.js
deleted file mode 100644
index 4b143eb..0000000
--- a/assets/js/a6aa9e1f.f1526462.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[93089],{44428:function(e,a,t){t.r(a),t.d(a,{default:function(){return p}});var n=t(67294),i=t(52263),r=t(46165),l=t(94884),s=t(36742),o=t(24973);var g=function(e){var a=e.metadata,t=a.previousPage,i=a.nextPage;return n.createElement("nav",{className:"pagination-nav","aria-label":(0,o.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},n.createEl [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.1348e709.js b/assets/js/adbb350b.1348e709.js
new file mode 100644
index 0000000..edc856b
--- /dev/null
+++ b/assets/js/adbb350b.1348e709.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var i=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.22fcb674.js b/assets/js/adbb350b.22fcb674.js
deleted file mode 100644
index eeed020..0000000
--- a/assets/js/adbb350b.22fcb674.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var i=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/b2b675dd.b54778a8.js b/assets/js/b2b675dd.b54778a8.js
new file mode 100644
index 0000000..cfcc5ca
--- /dev/null
+++ b/assets/js/b2b675dd.b54778a8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[90533],{28017:function(e){e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":15,"totalPages":1,"totalCount":15,"previousPage":null,"nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2b675dd.d9df2444.js b/assets/js/b2b675dd.d9df2444.js
deleted file mode 100644
index 8229028..0000000
--- a/assets/js/b2b675dd.d9df2444.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[90533],{28017:function(e){e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":2,"totalCount":15,"previousPage":null,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/ccc49370.db6c8728.js b/assets/js/ccc49370.db6c8728.js
deleted file mode 100644
index 5f765ca..0000000
--- a/assets/js/ccc49370.db6c8728.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[46103],{84147:function(e,t,a){a.r(t),a.d(t,{default:function(){return p}});var n=a(67294),o=a(41217),r=a(46165),l=a(94884),i=a(24973),s=a(36742);var m=function(e){var t=e.nextItem,a=e.prevItem;return n.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,i.I)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"})} [...]
\ No newline at end of file
diff --git a/assets/js/ccc49370.f784fc25.js b/assets/js/ccc49370.f784fc25.js
new file mode 100644
index 0000000..6ed7463
--- /dev/null
+++ b/assets/js/ccc49370.f784fc25.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[46103],{3905:function(e,t,n){n.d(t,{Zo:function(){return s},kt:function(){return f}});var r=n(67294);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 l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.993bfc59.js b/assets/js/d18db9b0.a4eb0f54.js
similarity index 88%
rename from assets/js/d18db9b0.993bfc59.js
rename to assets/js/d18db9b0.a4eb0f54.js
index 5c3932b..4ef12d6 100644
--- a/assets/js/d18db9b0.993bfc59.js
+++ b/assets/js/d18db9b0.a4eb0f54.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/main.2f93104d.js b/assets/js/main.2f93104d.js
new file mode 100644
index 0000000..0828749
--- /dev/null
+++ b/assets/js/main.2f93104d.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.2f93104d.js.LICENSE.txt */
+(self.webpackChunk=self.webpackChunk||[]).push([[40179],{99782:function(e,n,i){"use strict";i.r(n),n.default={title:"Apache APISIX\xae --  Cloud-Native API Gateway",tagline:"Apache APISIX is a dynamic, real-time, high-performance Cloud-Native API gateway, based on the Nginx library and etcd.",url:"https://apisix.apache.org/",baseUrl:"/",organizationName:"Apache",projectName:"apisix-website",favicon:"img/favicon.png",customFields:{tagline2:"Apache APISIX software provides rich traffic man [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.d3a61bec.js.LICENSE.txt b/assets/js/main.2f93104d.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.d3a61bec.js.LICENSE.txt
rename to assets/js/main.2f93104d.js.LICENSE.txt
diff --git a/assets/js/main.d3ffa863.js b/assets/js/main.d3ffa863.js
deleted file mode 100644
index 63f25b3..0000000
--- a/assets/js/main.d3ffa863.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.d3ffa863.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[40179],{99782:function(e,n,i){"use strict";i.r(n),n.default={title:"Apache APISIX\xae --  Cloud-Native API Gateway",tagline:"Apache APISIX is a dynamic, real-time, high-performance Cloud-Native API gateway, based on the Nginx library and etcd.",url:"https://apisix.apache.org/",baseUrl:"/",organizationName:"Apache",projectName:"apisix-website",favicon:"img/favicon.png",customFields:{tagline2:"Apache APISIX software provides rich traffic man [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.32ac036e.js b/assets/js/runtime~main.32ac036e.js
new file mode 100644
index 0000000..9986ecd
--- /dev/null
+++ b/assets/js/runtime~main.32ac036e.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,f,c,b,a={},d={};function t(e){var f=d[e];if(void 0!==f)return f.exports;var c=d[e]={id:e,loaded:!1,exports:{}};return a[e].call(c.exports,c,c.exports,t),c.loaded=!0,c.exports}t.m=a,t.c=d,e=[],t.O=function(f,c,b,a){if(!c){var d=1/0;for(u=0;u<e.length;u++){c=e[u][0],b=e[u][1],a=e[u][2];for(var n=!0,r=0;r<c.length;r++)(!1&a||d>=a)&&Object.keys(t.O).every((function(e){return t.O[e](c[r])}))?c.splice(r--,1):(n=!1,a<d&&(d=a));if(n){e.splice(u--,1);var o=b();void  [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.59c34847.js b/assets/js/runtime~main.59c34847.js
deleted file mode 100644
index cc9ea2b..0000000
--- a/assets/js/runtime~main.59c34847.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(){"use strict";var e,f,c,b,d={},a={};function t(e){var f=a[e];if(void 0!==f)return f.exports;var c=a[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,t),c.loaded=!0,c.exports}t.m=d,t.c=a,e=[],t.O=function(f,c,b,d){if(!c){var a=1/0;for(u=0;u<e.length;u++){c=e[u][0],b=e[u][1],d=e[u][2];for(var n=!0,r=0;r<c.length;r++)(!1&d||a>=d)&&Object.keys(t.O).every((function(e){return t.O[e](c[r])}))?c.splice(r--,1):(n=!1,d<a&&(a=d));if(n){e.splice(u--,1);var o=b();void  [...]
\ No newline at end of file
diff --git a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
index e430d29..ab83370 100644
--- a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -15,16 +15,42 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:ca [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-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 anchor__h3 anchorWithHideOnScrollNavbar_3R7-" 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 cust [...]
-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 anchor__h4 anchorWithHideOnScrollNavbar_3R7-" 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 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+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 id="expansion-method">Expansion method</h3><p>The existing filters may not meet the user&#x27;s custom requirements. In this case, Envoy needs to be extended. Customize new filters according to the existing filter chain to achieve customization requirements.</p><p>Developers can ex [...]
+- name: entry.lua
+  typed_config:
+    &quot;@type&quot;: type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua
+    source_codes:
+      entry.lua:
+        filename: /apisix/entry.lua
+</code></pre><p>Enable the Filter for a route and configure it with metadata:</p><pre><code class="language-yaml">routes:
+- match:
+    prefix: &quot;/foo&quot;
+  route:
+    cluster: web_service
+  typed_per_filter_config:
+    envoy.filters.http.lua:
+      &quot;@type&quot;: type.googleapis.com/envoy.extensions.filters.http.lua.v3.LuaPerRoute
+      name: entry.lua
+  metadata:
+    filter_metadata:
+      envoy.filters.http.lua:
+        plugins:
+        - name: uri-blocker
+          conf:
+            rejected_code: 403
+            block_rules:
+            - root.exe
+            - root.m+
+</code></pre><h3 id="how-does-it-work">How does it work</h3><p>We don&#x27;t need to make major changes to Envoy, only some optimizations that are suitable for public needs.</p><p>We shield platform differences for the plugin layer. All interfaces that need to be used are abstracted in the underlying framework, which we call apisix.core, so that all plugins can run on Envoy and Apache APISIX at the same time.</p><p><img src="https://static.apiseven.com/main.png" alt="Architecture diagram [...]
+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 id="second-step-parse-request">Second step, parse request</h4><p>We encapsulated the client request data into <code>ctx</code> so that it can be used directly in the entire process.</p><h4 id="third-step-run-the-plugin">Third step, run the plugin</h4><p>We determine whether we need [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
index 52721f1..e30ff85 100644
--- a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -15,15 +15,62 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Run Ingress APISIX on Amazon EKS | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" pro [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token string" style="color:#e3116c">&quot;headers&quot;</span><span class="token builtin class-name">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</s [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+</code></pre><p>After the Kubernetes cluster is ready, creating the namespace ingress-apisix, all subsequent resources will be created at this namespace.</p><p>kubectl create namespace ingress-apisix</p><p>We use <a href="https://helm.sh/">Helm</a> to deploy all components in Ingress APISIX (<a href="https://github.com/apache/apisix">Apache APISIX</a> and <a href="https://github.com/apache/apisix-ingress-controller">apisix-ingress-controller</a>), so please also install Helm according to [...]
+helm repo add bitnami https://charts.bitnami.com/bitnami
+helm dependency update ./chart/apisix
+helm install apisix ./chart/apisix \
+  --set gateway.type=LoadBalancer \
+  --set allow.ipList=&quot;{0.0.0.0/0}&quot; \
+  --namespace ingress-apisix
+kubectl get service --namespace ingress-apisix
+</code></pre><p>The above commands created two Kubernetes Service resources, one is <code>apisix-gateway</code>, which processes the real traffic; another is <code>apisix-admin</code>, which acts as the control plane to process all the configuration changes. Here we created the <code>apisix-gateway</code> as a <code>LoadBalancer</code> type Service, which resorts the <a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html">AWS Network Balancer</a> to ex [...]
+--namespace ingress-apisix \
+-o jsonpath=&#x27;{.status.loadBalancer.ingress[].hostname}&#x27;
+</code></pre><p> Another thing should be concerned that the <code>allow.ipList</code> field should be customized according to the <a href="https://amazonaws-china.com/premiumsupport/knowledge-center/eks-multiple-cidr-ranges/">EKS CIDR Ranges</a> in your EKS cluster, so that the apisix-ingress-controller can be authorized by Apache APISIX (for the resources pushing).</p><p>See <a href="https://github.com/apache/apisix-helm-chart/blob/master/charts/apisix/values.yaml">values.yaml</a> to le [...]
+# install base resources, e.g. ServiceAccount.
+helm install ingress-apisix-base -n ingress-apisix ./charts/base
+# install apisix-ingress-controller
+helm install ingress-apisix ./charts/ingress-apisix \
+  --set ingressController.image.tag=dev \
+  --set ingressController.config.apisix.baseURL=http://apisix-admin:9180/apisix/admin \
+  --set ingressController.config.apisix.adminKey={YOUR ADMIN KEY} \
+  --namespace ingress-apisix
+</code></pre><p>The ingress-apisix-base chart installed some basic dependencies for apisix-ingress-controller, such as ServiceAccount, its exclusive CRDs and etc.</p><p>The ingress-apisix chart guides us how to install the controller itself, you can change the image tag to the desired release version, also the value of <code>ingressController.config.apisix.adminKey</code> in above mentioned commands should be filled according to your practical usage (and be sure the admin key is same as  [...]
+kubectl expose pod httpbin --port 80
+</code></pre><p>In order to let Apache APISIX routes requests correctly, we need create an ApisixRoute resource to drive it.</p><pre><code class="language-shell"># ar-httpbin.yaml
+apiVersion: apisix.apache.org/v1
+kind: ApisixRoute
+metadata:
+  name: httpserver-route
+spec:
+  rules:
+  - host: local.httpbin.org
+    http:
+      paths:
+      - backend:
+          serviceName: httpbin
+          servicePort: 80
+        path: /*
+</code></pre><p>The above ApisixRoute resource asks Apache APISIX to route requests which Host header is <code>&quot;local.httpbin.org&quot;</code> to the httpbin backend (the one we just created).</p><p>Now try to apply it, note the service and the ApisixRoute resource should be put in the same namespace., crossing namespaces is not allowed in apisix-ingress-controller.</p><pre><code class="language-shell">kubectl apply -f ar-httpbin.yaml
+</code></pre><p>Test it by a simple curl call from a place where the Apache APISIX service is reachable.</p><pre><code class="language-shell">$ curl http://{apisix-gateway-ip}:{apisix-gateway-port}/headers -s -H &#x27;Host: local.httpbin.org&#x27;
+
+{
+  &quot;headers&quot;: {
+    &quot;Accept&quot;: &quot;*/*&quot;,
+    &quot;Host&quot;: &quot;httpbin.org&quot;,
+    &quot;User-Agent&quot;: &quot;curl/7.64.1&quot;,
+    &quot;X-Amzn-Trace-Id&quot;: &quot;Root=1-5ffc3273-2928e0844e19c9810d1bbd8a&quot;
+  }
+}
+</code></pre><p>If the Service type is <code>ClusterIP,</code> you have to login to a pod in the EKS cluster, then accessing Apache APISIX with its <code>ClusterIP</code> or Service FQDN. If it was exposed (no matter <code>NodePort</code> or <code>LoadBalancer</code>), just accessing its outside reachable endpoint.</p><h2 id="see-also">See Also</h2><ul><li><a href="https://www.apiseven.com/zh/blog/a-first-look-at-kubernetes-service-api">https://www.apiseven.com/zh/blog/a-first-look-at-ku [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
index 9ff1070..266e66a 100644
--- a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -15,14 +15,45 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Stable Product Delivery with Cypress | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="t [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+  cy.request(
+    &quot;POST&quot;,
+    &#x27;http://127.0.0.1/apisix/admin/user/login&#x27;,
+    {
+      username: &quot;user&quot;,
+      password: &quot;user&quot;,
+    }
+  ).then((res) =&gt; {
+    expect(res.body.code).to.equal(0);
+    localStorage.setItem(&quot;token&quot;, res.body.data.token);
+  });
+});
+</code></pre><pre><code class="language-javaScript">beforeEach(() =&gt; {
+   // init login
+   cy.login();
+})
+</code></pre><ol start="2"><li>Extract the selector and data as public variables.</li></ol><p>To make it more intuitive for the user to understand the meaning of the test code, we extract a selector and data as public variables.</p><pre><code class="language-javaScript">  const data = {
+    name: &#x27;hmac-auth&#x27;,
+    deleteSuccess: &#x27;Delete Plugin Successfully&#x27;,
+  };
+  const domSelector = {
+    tableCell: &#x27;.ant-table-cell&#x27;,
+    empty: &#x27;.ant-empty-normal&#x27;,
+    refresh: &#x27;.anticon-reload&#x27;,
+    codemirror: &#x27;.CodeMirror&#x27;,
+    switch: &#x27;#disable&#x27;,
+    deleteBtn: &#x27;.ant-btn-dangerous&#x27;,
+  };
+</code></pre><ol start="3"><li>Remove cy.wait(someTime)</li></ol><p>We used cy.wait(someTime) in the early days of Cypress, but found that cy.wait(someTime) relies too much on the network environment and the performance of the test machine, which can cause test cases to report errors when the network environment or machine performance is poor. The recommended practice is to use it in conjunction with cy.intercept() to explicitly specify the network resources to wait for.</p><pre><code cl [...]
+cy.wait(&quot;@fetchURL&quot;);
+</code></pre><h2 id="summary">Summary</h2><p>At present, APISIX Dashboard has written 49 test cases. In the future, we will continue to enhance the front-end E2E coverage, and require the community to agree to write test cases for each new feature or bugfix submission to ensure the stability of the product.</p><p>Welcome to join us to polish the world-class gateway product.</p><p>Project address: <a href="https://github.com/apache/apisix-dashboard">https://github.com/apache/apisix-dashbo [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
index 8fa92d2..967f88f 100644
--- a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
+++ b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -15,16 +15,34 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Install Apache APISIX from Helm Charts | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helme [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></span><span class="token-line" style="color:#393A34"><span class="token plain">apisix/apisix           </span><span class="token number" style="color:#36acaa">0.1</span><span class="token plain">.2           </span><span class="token number" style="color:#36acaa">2.1</span><span class="token plain">.0           A Helm chart </sp [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token plain">NAME: apisix-gw</span></span><span class="token-line" style="color:#393A34"><span class="token plain">LAST DEPLOYED: Fri Feb </span><span class="token number" style="color:#36acaa">19</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">11</span><span class="token plain">:34:14 </span><span class="token number" style="color:#36acaa">2021</span><span class="token plai [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+$ helm repo update
+</code></pre></li><li><p>Check out the available charts in repository</p><pre><code>$ helm search repo apisix
+
+NAME                    CHART VERSION   APP VERSION     DESCRIPTION
+apisix/apisix           0.1.2           2.1.0           A Helm chart for Apache APISIX
+apisix/apisix-dashboard 0.1.0           2.3.0           A Helm chart for Apache APISIX Dashboard
+</code></pre></li><li><p>Install Apache APISIX to your Kubernetes cluster</p><pre><code>$ helm install apisix-gw apisix/apisix --namespace default
+
+NAME: apisix-gw
+LAST DEPLOYED: Fri Feb 19 11:34:14 2021
+NAMESPACE: default
+STATUS: deployed
+REVISION: 1
+TEST SUITE: None
+NOTES:
+1. Get the application URL by running these commands:
+  export NODE_PORT=$(kubectl get --namespace default -o jsonpath=&quot;{.spec.ports[0].nodePort}&quot; services apisix-gw-gateway)
+  export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath=&quot;{.items[0].status.addresses[0].address}&quot;)
+  echo http://$NODE_IP:$NODE_PORT
+</code></pre></li></ol><h2 id="see-also">See Also</h2><ul><li><a href="https://github.com/apache/apisix-helm-chart">https://github.com/apache/apisix-helm-chart</a></li></ul><div></div><div class="margin-vert--xl"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Blog post page navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/blog/2021/03/02/get-front-end-test-coverage-with-cypress"><div class="pagination-nav__sublabel">Newer Post</div><div class [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html b/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
index 1878680..ae44dfd 100644
--- a/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
+++ b/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
@@ -15,14 +15,30 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="h [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Get Front-End Test Coverage with Cypress | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-h [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+</code></pre><ol start="2"><li>Install the cypress plug-in</li></ol><pre><code class="language-shell">yarn add  @cypress/code-coverage --dev
+</code></pre><ol start="3"><li>Configuring babel</li></ol><pre><code class="language-ts">// web/config/config.ts
+extraBabelPlugins: [
+    [&#x27;babel-plugin-istanbul&#x27;,  {
+      &quot;exclude&quot;: [&quot;**/.umi&quot;, &quot;**/locales&quot;]
+    }],
+  ],
+</code></pre><ol start="4"><li>Configuring Cypress code coverage plugin</li></ol><pre><code class="language-javaScript">// web/cypress/plugins/index.js
+module.exports = (on, config) =&gt; {
+  require(&#x27;@cypress/code-coverage/task&#x27;)(on, config);
+  return config;
+};
+</code></pre><pre><code class="language-javaScript">// web/cypress/support/index.js
+import &#x27;@cypress/code-coverage/support&#x27;;
+</code></pre><ol start="5"><li>Get Test Coverage</li></ol><p>After the configuration is done, we need to run the test case. After the test case is run, Cypress will generate <code>coverage</code> and <code>.nyc_output</code> folders, which contain the test coverage reports.</p><p><img src="https://lh4.googleusercontent.com/o-tyQagmCjprpNkuTjMFLaALZKtW4pyC9nj-GcPx4MM3xK0zrMED9Nndk5ZmZkZsQ5SIJPEovcrHyjWP2YXtEcYYDpLL49aV_97N83doTkOuMXlFsVjGu53A9FdlxOCr6i3aIDTA" alt="1.png"></p><p>The test c [...]
+</code></pre><p><img src="https://lh4.googleusercontent.com/n0CON1WF64wEnh3IYEc3wwwOJ2Ft_WmMLfkhOPKIKxoW0NP6Eq8VplJ87EepL5zIWOeyfJhlDmhc3ImE0ivgRlXWe1RuW2x7vL_JEri7Mz6b3tOY0it8bVvUe83CAHNgeoyXZnsy" alt="2.png"></p><p>Under the coverage directory, a more detailed report page will be available, as shown here.</p><p><img src="https://lh4.googleusercontent.com/skjR9YUcbmeytfoYnR0it7Vfc7mheCJDt7PSUsp549IbOdfqskTrIOqUXw01e0fnuNwpGoo3GtqAER3eQjNoTIdmU7HY6hc_sZ5NYc3h-MyxqmVz_NaC3AM-J4rWJFy-9IoTW [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html b/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
index 5a528f3..f099ca7 100644
--- a/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
+++ b/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image"  [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/29/release-apache-apisix-2.7-en/index.html b/blog/2021/06/29/release-apache-apisix-2.7-en/index.html
index 39fda66..93bd555 100644
--- a/blog/2021/06/29/release-apache-apisix-2.7-en/index.html
+++ b/blog/2021/06/29/release-apache-apisix-2.7-en/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.7.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.7.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.7.0 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og: [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/06/celebrate-200-contributors/index.html b/blog/2021/07/06/celebrate-200-contributors/index.html
index 6cf62ca..2514167 100644
--- a/blog/2021/07/06/celebrate-200-contributors/index.html
+++ b/blog/2021/07/06/celebrate-200-contributors/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitt [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content= [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-Welcome to join the Apache APISIX community, welcome to use Apache APISIX!</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="contributors-say"></a>Contributors Say<a class="hash-link" href="#contributors-say" title="Direct link to heading">#</a></h2><p>When reaching 200 contributors, the contributors in the community sent their blessings to Apache APISIX. Here are what they want to say to Apache APISIX.</p><p><a href="https://githu [...]
-community activity</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="join-the-apache-apisix-community"></a>Join the Apache APISIX community<a class="hash-link" href="#join-the-apache-apisix-community" title="Direct link to heading">#</a></h2><p>Sincerely invite you to join the Apache APISIX open source community, let us work together to create the best API gateway in the cloud-native era!</p><p>There is no barrier to becoming an Ap [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+Welcome to join the Apache APISIX community, welcome to use Apache APISIX!</p><h2 id="contributors-say">Contributors Say</h2><p>When reaching 200 contributors, the contributors in the community sent their blessings to Apache APISIX. Here are what they want to say to Apache APISIX.</p><p><a href="https://github.com/juzhiyuan">juzhiyuan</a>: The Apache APISIX open source community is extremely active, and the monthly release rhythm always brings new features that are hotly discussed in the [...]
+community activity</p><h2 id="join-the-apache-apisix-community">Join the Apache APISIX community</h2><p>Sincerely invite you to join the Apache APISIX open source community, let us work together to create the best API gateway in the cloud-native era!</p><p>There is no barrier to becoming an Apache APISIX contributor. In the Apache APISIX community, it not only includes code contributions, but also documentation, testing, design, and video production. Posting pr or issue on Github, sharin [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/28/release-apache-apisix-2.8-en/index.html b/blog/2021/07/28/release-apache-apisix-2.8-en/index.html
index 0d059ed..684f5ba 100644
--- a/blog/2021/07/28/release-apache-apisix-2.8-en/index.html
+++ b/blog/2021/07/28/release-apache-apisix-2.8-en/index.html
@@ -15,15 +15,60 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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.8.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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.8.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.8.0 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og: [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-👇👇👇</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="release-notes"></a>Release Notes<a class="hash-link" href="#release-notes" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="new-feature-independent-keepalive-connection-pool"></a>New feature: Independent Keepalive connection pool<a class="hash-link" href="#new-feature-independent-keep [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+👇👇👇</p><h2 id="release-notes">Release Notes</h2><h3 id="new-feature-independent-keepalive-connection-pool">New feature: Independent Keepalive connection pool</h3><p>Starting with <a href="https://apisix.apache.org/blog/2021/06/29/release-apache-apisix-2.7">version 2.7</a>, we have added Apache APISIX&#x27;s own patches and the Nginx C module to enhance the native Nginx, allowing dynamic setup of increasing number of Nginx configurations. In version 2.8, Apache APISIX supports the configu [...]
+    &quot;id&quot;: &quot;backend&quot;,
+    &quot;nodes&quot;: {&quot;host:80&quot;: 100},
+    &quot;type&quot;:&quot;roundrobin&quot;,
+    &quot;keepalive_pool&quot;: {
+        &quot;size&quot;: 4,
+        &quot;idle_timeout&quot;: 8,
+        &quot;requests&quot;: 16
+    }
+}
+</code></pre><h3 id="new-experience-enhance-stream-proxy">New experience: Enhance stream proxy</h3><p>In version 2.8, the <a href="http://apisix.apache.org/docs/apisix/plugins/ip-restriction/">ip-restriction</a> and [limit-conn](<a href="http://apisix.apache.org/docs">http://apisix.apache.org/docs</a> /apisix/plugins/limit-conn/) had been duplicated from the HTTP section to the stream section. The benefit of this way is to enhance gateway capabilities in the stream proxy and to increase  [...]
+    &quot;plugins&quot;: {
+        &quot;gzip&quot;: {
+            &quot;min_length&quot;: 20,
+            &quot;http_version&quot;: 1.1,
+            &quot;buffers&quot;: {
+                &quot;number&quot;: 32,
+                &quot;size&quot;: 4096
+            },
+            &quot;types&quot;: [
+                &quot;text/html&quot;
+            ],
+            &quot;comp_level&quot;: 1,
+            &quot;vary&quot;: false
+        }
+    }
+}
+</code></pre><h3 id="new-plug-in-ua-restriction">New plug-in: ua-restriction</h3><p>The <code>ua-restriction</code> plugin is used to check if the User-Agent is in the black and white list, which is a very common requirement and can be enabled by way of a plugin.</p><p>An example of <code>ua-restriction</code> configuration:</p><pre><code class="language-JSON">{
+    &quot;plugins&quot;: {
+        &quot;ua-restriction&quot;: {
+            &quot;denylist&quot;: [
+                &quot;my-bot1&quot;,
+                &quot;(Baiduspider)/(\\d+)\\.(\\d+)&quot;
+            ]
+        }
+    }
+}
+</code></pre><h3 id="new-way-to-develop-support-for-executing-specific-logic-by-plug-ins">New way to develop: Support for executing specific logic by plug-ins</h3><p>Based on Apache APISIX architecture, many features are implemented by plug-ins. Starting from version 2.8, <strong>Apache APISIX supports executing specific logic by plug-ins after selecting an upstream node.</strong></p><p>Define the following method in the plug-in:</p><pre><code class="language-Lua">function _M.balancer(co [...]
+    core.log.notice(&quot;IP: &quot;, ctx.balancer_ip, &quot;, Port: &quot;, ctx.balancer_port)
+end
+</code></pre><p>In this example, the log will output the IP and Port of the upstream.</p><p><strong>Which scenario does the above method apply to?</strong></p><ol><li>After selecting the upstream node and before accessing the upstream</li><li>Before each retry</li></ol><p>For the best performance, the above method first runs in the access phase of OpenResty (APISIX actually selects the upstream node in the access phase) and the method does not overlap with the OpenResty phase of the same [...]
+    &quot;nodes&quot;: [
+        { &quot;host&quot;: &quot;0.0.0.0&quot;, &quot;port&quot;: 1980, &quot;weight&quot;: 1, &quot;metadata&quot;: {&quot;b&quot;: 1} }
+    ]
+}
+</code></pre><h2 id="download">Download</h2><p>Download Apache APISIX 2.8.0</p><ul><li>Source code: please visit <a href="https://apisix.apache.org/downloads/">download page</a></li><li>Binary installation package: please visit <a href="https://apisix.apache.org/docs/apisix/how-to-build/">Installation Guide</a></li></ul><div></div><div class="margin-vert--xl"><nav class="pagination-nav docusaurus-mt-lg" aria-label="Blog post page navigation"><div class="pagination-nav__item"><a class="pa [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html b/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
index d320c0c..e6d3615 100644
--- a/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
+++ b/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve System Stability | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve System Stability | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Chaos Mesh Helps Apache APISIX Improve System Stability | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_l [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects-en/index.html b/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects-en/index.html
index 22ec719..9631f9a 100644
--- a/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects-en/index.html
+++ b/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects-en/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributors — The Golden Metric of OpenSource Projects | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributors — The Golden Metric of OpenSource Projects | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Contributors — The Golden Metric of OpenSource Projects | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_l [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<a href="https://github.com/api7/contributor-graph" target="_blank" rel="noopener noreferrer">https://github.com/api7/contributor-graph</a></p></blockquote><p>Behind these fast-growing numbers, open source maintainers did a lot of work on propaganda, article, media, Meetups, etc., to attract more developers for their projects, It’s a lot to take in.</p><p>So for developers, how can they find out which one is the best fit for their company among the hundreds of projects on GitHub?</p><p>V [...]
-As maintainers and developers of open source projects, we also need such golden metrics to guide us. Therefore, we propose two dimensions, “Contributor Growth” and “Active Contributors”, and open source the statistics and analysis process: <a href="https://github.com/api7/contributor-graph" target="_blank" rel="noopener noreferrer">https://github.com/api7/contributor-graph</a>, you can also search directly through <a href="https://www.apiseven.com/zh/contributor-graph" target="_blank" re [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<a href="https://github.com/api7/contributor-graph">https://github.com/api7/contributor-graph</a></p></blockquote><p>Behind these fast-growing numbers, open source maintainers did a lot of work on propaganda, article, media, Meetups, etc., to attract more developers for their projects, It’s a lot to take in.</p><p>So for developers, how can they find out which one is the best fit for their company among the hundreds of projects on GitHub?</p><p>Various indicators of open source projects  [...]
+As maintainers and developers of open source projects, we also need such golden metrics to guide us. Therefore, we propose two dimensions, “Contributor Growth” and “Active Contributors”, and open source the statistics and analysis process: <a href="https://github.com/api7/contributor-graph">https://github.com/api7/contributor-graph</a>, you can also search directly through <a href="https://www.apiseven.com/zh/contributor-graph">https://www.apiseven.com/zh/contributor-graph</a>. Here is a [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html b/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
index 99af267..db90c17 100644
--- a/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
+++ b/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
@@ -15,19 +15,54 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Using the Apache APISIX OpenID Connect Plugin for Okta Centralized Authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helm [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Using the Apache APISIX OpenID Connect Plugin for Okta Centralized Authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Using the Apache APISIX OpenID Connect Plugin for Okta Centralized Authentication | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react- [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <img alt="Create App Integration" src="/assets/images/2021-08-16-4-56246ab773e8514b6d7ff6e88a1ba575.png"></li><li>Select &quot;OIDC-OpenID Connect&quot; for the Sign-in method, and select &quot;Web Application&quot; for the  Application type.
 <img alt="Create a new App Integration" src="/assets/images/2021-08-16-5-27949e296923f482ca03e52147040e5b.png"></li><li>Set the redirect URL for login and logout. The &quot;Sign-in redirect URIs&quot; are links a user can go to after a successful login, and the &quot;Sign-out redirect URIs&quot; are links a user goes to after a successful logout. In this example, we set both sign-in and sign-out redirect URIs to <code>http://127.0.0.1:9080/</code>.
 <img alt="Set the redirect URL for login and logout" src="/assets/images/2021-08-16-6-f282419b7f52ab87487580f15b7789f3.png"></li><li>After finishing the settings, click &quot;Save&quot; to save the changes.
-<img alt="save the changes" src="/assets/images/2021-08-16-7-b7ceb94a0cbdac698adcdd78dd290bbe.png"></li><li>Visit the General page of the application to obtain the following configuration, which is required to configure Apache APISIX OpenID Connect.</li></ol><ul><li>Client ID: OAuth client ID, the application ID, which corresponds to client_id and {YOUR_CLIENT_ID} below.</li><li>Client secret: OAuth client secret, the application key, which corresponds to client_secret and {YOUR_CLIENT_S [...]
-<img alt="visit Okta login page" src="/assets/images/2021-08-16-9-9752a521c7717adfb0fe94f20bb28c8d.png"></p></li><li><p>Enter the username and password for the user&#x27;s Okta account and click &quot;Sign In&quot; to log in to your Okta account.</p></li><li><p>After successful login, you can access the get page in &quot;httpbin.org&quot;. The &quot;httpbin.org/get&quot; page will return the requested data with X-Access-Token,X-Id-Token, and X-Userinfo as follows.</p><div class="codeBloc [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<img alt="save the changes" src="/assets/images/2021-08-16-7-b7ceb94a0cbdac698adcdd78dd290bbe.png"></li><li>Visit the General page of the application to obtain the following configuration, which is required to configure Apache APISIX OpenID Connect.</li></ol><ul><li>Client ID: OAuth client ID, the application ID, which corresponds to client_id and {YOUR_CLIENT_ID} below.</li><li>Client secret: OAuth client secret, the application key, which corresponds to client_secret and {YOUR_CLIENT_S [...]
+</code></pre><h4 id="installation-via-docker">Installation via Docker</h4><p>Please refer to <a href="https://hub.docker.com/r/apache/apisix">Installing Apache APISIX with Docker</a>.</p><h4 id="installation-via-helm-chart">Installation via Helm Chart</h4><p>Please refer to <a href="https://github.com/apache/apisix-helm-chart">Installing Apache APISIX with Helm Chart</a>.</p><h4 id="installation-via-source-release">Installation via source release</h4><ol><li>Create a directory named <cod [...]
+</code></pre><ol start="2"><li>Download Apache APISIX Release source package.</li></ol><pre><code class="language-shell">wget https://downloads.apache.org/apisix/2.7/apache-apisix-2.7-src.tgz
+</code></pre><p>  You can also download the Apache APISIX release source package from the Apache APISIX website. The <a href="https://apisix.apache.org/downloads/">Apache APISIX Official Website - Download Page</a> also provides source packages for Apache APISIX, APISIX Dashboard, and APISIX Ingress Controller.</p><ol start="3"><li>Unzip the Apache APISIX Release source package.</li></ol><pre><code class="language-shell">tar zxvf apache-apisix-2.7-src.tgz -C apisix-2.7
+</code></pre><ol start="4"><li>Install the runtime-dependent Lua libraries.</li></ol><pre><code class="language-shell"># Switch to the apisix-2.7 directory
+cd apisix-2.7
+# Create dependencies
+make deps
+</code></pre><h4 id="initializing-dependencies">Initializing Dependencies</h4><p>Run the following command to initialize the NGINX configuration file and etcd.</p><pre><code class="language-shell"># initialize NGINX config file and etcd
+make init
+</code></pre><h3 id="step-3-start-apache-apisix-and-configure-the-corresponding-route">Step 3: Start Apache APISIX and Configure the Corresponding Route</h3><ol><li>Run the following command to start Apache APISIX.</li></ol><pre><code class="language-shell">apisix start
+</code></pre><ol start="2"><li>Create a route and configure the OpenID Connect plugin. The following code example creates a route through the Apache APISIX Admin API, setting the upstream path to httpbin.org, a simple backend service for receiving and responding to requests. The following will use the get page of httpbin.org. Please refer to <a href="http://httpbin.org/#/HTTP_Methods/get_get">http bin get</a> for more information. For specific configuration items, please refer to the <a  [...]
+    &quot;uri&quot;:&quot;/*&quot;,
+    &quot;plugins&quot;:{
+        &quot;openid-connect&quot;:{
+            &quot;client_id&quot;:&quot;{YOUR_CLIENT_ID}&quot;,
+            &quot;client_secret&quot;:&quot;{YOUR_CLIENT_SECRET}&quot;,
+            &quot;discovery&quot;:&quot;https://{YOUR_ISSUER}/.well-known/openid-configuration&quot;,
+            &quot;scope&quot;:&quot;openid profile&quot;,
+            &quot;bearer_only&quot;:false,
+            &quot;realm&quot;:&quot;master&quot;,
+            &quot;introspection_endpoint_auth_method&quot;:&quot;client_secret_post&quot;,
+            &quot;redirect_uri&quot;:&quot;http://127.0.0.1:9080/&quot;
+        }
+    },
+    &quot;upstream&quot;:{
+        &quot;type&quot;:&quot;roundrobin&quot;,
+        &quot;nodes&quot;:{
+            &quot;httpbin.org:80&quot;:1
+        }
+    }
+}&#x27;
+</code></pre><h3 id="step-4-access-apache-apisix">Step 4: Access Apache APISIX</h3><ol><li><p>Visit &quot;<a href="http://127.0.0.1:9080/get%22">http://127.0.0.1:9080/get&quot;</a> and the page is redirected to the Okta login page because the OpenID Connect plugin is enabled.
+<img alt="visit Okta login page" src="/assets/images/2021-08-16-9-9752a521c7717adfb0fe94f20bb28c8d.png"></p></li><li><p>Enter the username and password for the user&#x27;s Okta account and click &quot;Sign In&quot; to log in to your Okta account.</p></li><li><p>After successful login, you can access the get page in &quot;httpbin.org&quot;. The &quot;httpbin.org/get&quot; page will return the requested data with X-Access-Token,X-Id-Token, and X-Userinfo as follows.</p><pre><code>&quot;X-A [...]
+&quot;X-Id-Token&quot;: &quot;******aTdDRDJnczF5RnlXMUtPZUtuSUpQdyIsImFtciI6WyJwd2QiXSwic3ViIjoiMDB1YTA1ZWNkRmZXS0xLdW82OTUiLCJpc3MiOiJodHRwczpcL1wvcXF0ZXN0bWFuLm9rdGEuY29tIiwiYXVkIjoiMG9hMTFnOGQ4N08wRkNHWGc2OTYiLCJuYW1lIjoiUGV0ZXIgWmh1IiwianRpIjoiSUQuNGdvZWo4OGUyX2RuWUI1VmFMeUt2djNTdVJTQWhGNS0tM2l3Z0p5TTcxTSIsInZlciI6MSwicHJlZmVycmVkX3VzZXJuYW1lIjoiMjgzMDE4Nzk5QHFxLmNvbSIsImV4cCI6MTYyODEyOTgyNSwiaWRwIjoiMDBvYTA1OTFndHAzMDhFbm02OTUiLCJub25jZSI6ImY3MjhkZDMxMWRjNGY3MTI4YzlmNjViOGYzYjJkMDgy [...]
+&quot;X-Userinfo&quot;: &quot;*****lfbmFtZSI6IlpodSIsImxvY2FsZSI6ImVuLVVTIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiMjgzMDE4Nzk5QHFxLmNvbSIsInVwZGF0ZWRfYXQiOjE2MjgwNzA1ODEsInpvbmVpbmZvIjoiQW1lcmljYVwvTG9zX0FuZ2VsZXMiLCJzdWIiOiIwMHVhMDVlY2RGZldLTEt1bzY5NSIsImdpdmVuX25hbWUiOiJQZXRlciIsIm5hbWUiOiJQZXRl****&quot;
+</code></pre></li></ol><p><strong>X-Access-Token</strong>: Apache APISIX puts the access token obtained from the user provider into the X-Access-Token request header, optionally via the access_token_in_authorization_header in the plugin configuration Authorization request header.</p><p><img alt="X-Access-Token" src="/assets/images/2021-08-16-10-4cf579f111e40baad9180625798ae68c.png"></p><p><strong>X-Id-Token</strong>: Apache APISIX will get the Id token from the user provider through the  [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html b/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
index c0864d5..ea488a3 100644
--- a/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
+++ b/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
@@ -15,24 +15,115 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Authorization with Casbin in Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content= [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Authorization with Casbin in Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Authorization with Casbin in Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-rea [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">policy_definition</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">p </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> sub, obj, act</s [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">role_definition</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">g </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> _, _</span></span> [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">policy_effect</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">e </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> some</span><span cla [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">matchers</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">m </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            [policy_definition]</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            p = sub, obj, act</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="display:inline-block;color:#e3116c">
-</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            [role_definition]</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            g = _, _</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="display:inline-block;color:#e3116c">
-</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            [policy_effect]</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            e = some(where (p.eft == allow))</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="display:inline-block;color:#e3116c">
-</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            [matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)&quot;,</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="display:inline-block; [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            &quot;policy&quot;: &quot;p, *, /, GET</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            p, admin, *, *</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            g, alice, admin&quot;,</span></span><span class="token-line" style="color: [...]
-</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            &quot;username&quot;: &quot;user&quot;</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">        }</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">    },</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="co [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+r = sub, obj, act
+
+[policy_definition]
+p = sub, obj, act
+
+[role_definition]
+g = _, _
+
+[policy_effect]
+e = some(where (p.eft == allow))
+
+[matchers]
+m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)
+</code></pre><h3 id="create-a-policy">Create a Policy</h3><p>From the above example, the policy should look like this:</p><pre><code class="language-shell">p, *, /, GET
+p, admin, *, *
+g, alice, admin
+g, bob,admin
+</code></pre><p>The matcher in the model indicates that:</p><ol><li><code>(g(r.sub, p.sub) || keyMatch(r.sub, p.sub))</code>: the subject in the request and the subject in the policy have the same role or the subject in the request and the subject in the policy can be matched by the built-in method keyMatch. keyMatch is a built-in function of Lua Casbin, a description of which and more can be found in <a href="https://github.com/casbin/lua-casbin/blob/master/src/util/BuiltInFunctions.lua [...]
+{
+    &quot;plugins&quot;: {
+        &quot;authz-casbin&quot;: {
+            &quot;model_path&quot;: &quot;/path/to/model.conf&quot;,
+            &quot;policy_path&quot;: &quot;/path/to/policy.csv&quot;,
+            &quot;username&quot;: &quot;user&quot;
+        }
+    },
+    &quot;upstream&quot;: {
+        &quot;nodes&quot;: {
+            &quot;127.0.0.1:1980&quot;: 1
+        },
+        &quot;type&quot;: &quot;roundrobin&quot;
+    },
+    &quot;uri&quot;: &quot;/*&quot;
+}&#x27;
+</code></pre><p>In this case, <code>username</code> is the username passed into the subject. For example, you can set <code>&quot;username&quot;: &quot;user&quot;</code> to pass your defined <code>user:alice</code> to username, and modify username to Alice.</p><p>Similarly, you can put models and policies directly into authz-casbin:</p><pre><code class="language-shell">curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -d &#x27;
+{
+    &quot;plugins&quot;: {
+        &quot;authz-casbin&quot;: {
+            &quot;model&quot;: &quot;[request_definition]
+            r = sub, obj, act
+
+            [policy_definition]
+            p = sub, obj, act
+
+            [role_definition]
+            g = _, _
+
+            [policy_effect]
+            e = some(where (p.eft == allow))
+
+            [matchers]
+            m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)&quot;,
+
+            &quot;policy&quot;: &quot;p, *, /, GET
+            p, admin, *, *
+            g, alice, admin&quot;,
+
+            &quot;username&quot;: &quot;user&quot;
+        }
+    },
+    &quot;upstream&quot;: {
+        &quot;nodes&quot;: {
+            &quot;127.0.0.1:1980&quot;: 1
+        },
+        &quot;type&quot;: &quot;roundrobin&quot;
+    },
+    &quot;uri&quot;: &quot;/*&quot;
+}&#x27;
+</code></pre><h3 id="using-plug-ins-with-global-models-or-global-policies">Using plug-ins with Global Models or Global Policies</h3><p>In some cases, you may want to use the same model and policy in multiple routes. You can first send a PUT request to send the configuration of the model and policy to the plugin&#x27;s metadata:</p><pre><code class="language-shell">curl &lt;http://127.0.0.1:9080/apisix/admin/plugin_metadata/authz-casbin&gt; -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625 [...]
+ {
+ &quot;model&quot;: &quot;[request_definition]
+ r = sub, obj, act
+ [policy_definition]
+ p = sub, obj, act
+ [role_definition]
+ g = _, _
+ [policy_effect]
+ e = some(where (p.eft == allow))
+ [matchers]
+ m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)&quot;,
+ &quot;policy&quot;: &quot;p, *, /, GET
+ p, admin, *, *
+ g, alice, admin
+ g, bob, admin&quot;
+ }&#x27;
+</code></pre><p>Then you need to use the Admin API to send requests to make multiple routes use the same model or policy configuration:</p><pre><code class="language-shell">curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27; -X PUT -d &#x27;
+{
+    &quot;plugins&quot;: {
+        &quot;authz-casbin&quot;: {
+            &quot;username&quot;: &quot;user&quot;
+        }
+    },
+    &quot;upstream&quot;: {
+        &quot;nodes&quot;: {
+            &quot;127.0.0.1:1980&quot;: 1
+        },
+        &quot;type&quot;: &quot;roundrobin&quot;
+    },
+    &quot;uri&quot;: &quot;/*&quot;
+}&#x27;
+</code></pre><p>This will add the plugin&#x27;s configuration to the route dynamically. You can easily update the plugin&#x27;s configuration by sending a request to update the model and policy in the plugin&#x27;s configuration data.</p><h2 id="special-thanks">Special Thanks</h2><p>Thanks to the developers in the Casbin and Apache APISIX communities, this cross-community collaboration was friendly and well organized.</p><p>Shout out to Casbin community&#x27;s <a href="https://github.com [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/27/release-apache-apisix-2.9-en/index.html b/blog/2021/08/27/release-apache-apisix-2.9-en/index.html
index c0d0847..d346e57 100644
--- a/blog/2021/08/27/release-apache-apisix-2.9-en/index.html
+++ b/blog/2021/08/27/release-apache-apisix-2.9-en/index.html
@@ -15,14 +15,22 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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.9 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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.9 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.9 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:imag [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+    &quot;plugins&quot;: {
+        &quot;real-ip&quot;: {
+            &quot;source&quot;: &quot;http_x_forwarded_for&quot;,
+            &quot;trusted_addresses&quot;: [&quot;127.0.0.0/24&quot;]
+        }
+    }
+}
+</code></pre><h2 id="improvement-external-plug-in-mechanism">Improvement: External Plug-in Mechanism</h2><p>Apache APISIX version 2.9 further improves the support for external plugins with two major changes:</p><ol><li><p>When sending a plugin configuration to Plugin Runner, a unique key is sent. because APISIX is a multi-process architecture, in the past, a plugin configuration was sent several times, causing Plugin Runner to update the plugin configuration repeatedly. Now, with this un [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/29/release-apache-apisix-2.10-en/index.html b/blog/2021/09/29/release-apache-apisix-2.10-en/index.html
index b81e159..5c8a226 100644
--- a/blog/2021/09/29/release-apache-apisix-2.10-en/index.html
+++ b/blog/2021/09/29/release-apache-apisix-2.10-en/index.html
@@ -15,14 +15,55 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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.10.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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.10.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.10.0 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="o [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+{
+    &quot;hosts&quot;: [&quot;bar.com&quot;]
+}
+# routes/1
+{
+    &quot;upstream&quot;: {
+        &quot;nodes&quot;: {
+            &quot;127.0.0.1:1980&quot;: 1
+        },
+        &quot;type&quot;: &quot;roundrobin&quot;
+    },
+    &quot;service_id&quot;: &quot;1&quot;,
+    &quot;uri&quot;: &quot;/hello&quot;
+}
+</code></pre><pre><code class="language-json"># routes/1
+{
+    &quot;upstream&quot;: {
+        &quot;nodes&quot;: {
+            &quot;127.0.0.1:1980&quot;: 1
+        },
+        &quot;type&quot;: &quot;roundrobin&quot;
+    },
+    &quot;hosts&quot;: [&quot;bar.com&quot;],
+    &quot;uri&quot;: &quot;/hello&quot;
+}
+</code></pre><p>With this change, the relationship between <code>route</code> and <code>service</code> in Apache APISIX is becoming more and more similar to the relationship between <code>location</code> and <code>server</code> in Nginx. This change brings <code>service</code> back into the core Apache APISIX configuration: <a href="http://apisix.apache.org/docs/apisix/architecture-design/route">Route</a>, <a href="http://apisix.apache.org/docs/apisix/architecture-design/upstream">Upstre [...]
+    &quot;plugins&quot;: {
+        &quot;proxy-mirror&quot;: {
+            &quot;host&quot;: &quot;http://127.0.0.1:1986&quot;,
+            &quot;sample_ratio&quot;: 0.5
+        }
+    },
+    &quot;upstream&quot;: {
+        &quot;nodes&quot;: {
+            &quot;127.0.0.1:1980&quot;: 1
+        },
+        &quot;type&quot;: &quot;roundrobin&quot;
+    },
+    &quot;uri&quot;: &quot;/hello&quot;
+}
+</code></pre><h2 id="new-plugin-apisix-python-plugin-runner">New Plugin: APISIX Python Plugin Runner</h2><p>Following <a href="https://apisix.apache.org/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/">Java Plugin Runner</a> and <a href="https://apisix.apache.org/blog/2021/08/19/go-makes-Apache-APISIX-better/">Go Plugin Runner</a>, there is a new Plugin Runner for Apache APISIX.</p><p>The <a href="https://github.com/apache/apisix-python-plugin-runner">Apache APISIX Python Plugin [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 9ea00e2..d2dc06a 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 1a8c08b..11382b0 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/2/index.html b/blog/page/2/index.html
deleted file mode 100644
index 7bb94c8..0000000
--- a/blog/page/2/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr">
-<head>
-<meta charset="UTF-8">
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<meta name="generator" content="Docusaurus v2.0.0-beta.6">
-<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
-<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="preconnect" href="https://www.google-analytics.com">
-<link rel="preconnect" href="https://www.googletagmanager.com">
-<script async src="https://www.googletagmanager.com/gtag/js?id=G-WQLBQL6GY3"></script>
-<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-WQLBQL6GY3",{})</script>
-<link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX® --  Cloud-Native API Gateway" href="/opensearch.xml">
-<link rel="alternate" type="application/rss+xml" href="/releases/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
-<link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
-<link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
-</head>
-<body>
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/blog/tags/community/index.html b/blog/tags/community/index.html
index 98326c7..9b83f32 100644
--- a/blog/tags/community/index.html
+++ b/blog/tags/community/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">One post tagged with &quot;Community&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="One post tagged with &quot;Community&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Posts tagged &quot;Community&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Posts tagged &quot;Community&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/events/index.html b/blog/tags/events/index.html
index 5fbac3a..5cb4d8f 100644
--- a/blog/tags/events/index.html
+++ b/blog/tags/events/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">One post tagged with &quot;Events&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="One post tagged with &quot;Events&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Posts tagged &quot;Events&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Posts tagged &quot;Events&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" prope [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index 383dee3..fe2dcd5 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/practical-case/index.html b/blog/tags/practical-case/index.html
index 8eaf79f..91574bd 100644
--- a/blog/tags/practical-case/index.html
+++ b/blog/tags/practical-case/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">5 posts tagged with &quot;Practical Case&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="5 posts tagged with &quot;Practical Case&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Posts tagged &quot;Practical Case&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Posts tagged &quot;Practical Case&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-hel [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/release/index.html b/blog/tags/release/index.html
index efe6143..f2b228b 100644
--- a/blog/tags/release/index.html
+++ b/blog/tags/release/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">4 posts tagged with &quot;Release&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="4 posts tagged with &quot;Release&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Posts tagged &quot;Release&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Posts tagged &quot;Release&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" pro [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/security/index.html b/blog/tags/security/index.html
index 44a0409..64215e0 100644
--- a/blog/tags/security/index.html
+++ b/blog/tags/security/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">One post tagged with &quot;Security&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="One post tagged with &quot;Security&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Posts tagged &quot;Security&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Posts tagged &quot;Security&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" p [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/technology/index.html b/blog/tags/technology/index.html
index e769de6..abbb9fa 100644
--- a/blog/tags/technology/index.html
+++ b/blog/tags/technology/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">3 posts tagged with &quot;Technology&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="3 posts tagged with &quot;Technology&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Posts tagged &quot;Technology&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Posts tagged &quot;Technology&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="tru [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
-<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/FAQ/index.html b/docs/apisix/2.10.0/FAQ/index.html
index 38abc8f..33b8d9d 100644
--- a/docs/apisix/2.10.0/FAQ/index.html
+++ b/docs/apisix/2.10.0/FAQ/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ See the <code>Hot reload</code> section in <a href="/docs/apisix/2.10.0/plugins.
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh  --issue  --staging  -d demo.domain --renew-hook </span><span class="token string" style="color:#e3116c">&quot;/root/.acme.sh/renew-hook-update-apisix.sh  -h http://apisix-admin:port -p /root/.acme.sh/demo.domain/demo.domain.cer -k /root/.acme.sh/demo.domain/demo.domain.key -a xxxxxxxxxxxxx&quot;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><spa [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh --renew --domain demo.domain</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Blog <a href="https://juejin.cn/post/6965778290619449351" target="_blank" rel="noopener noreferrer">https://juejin.cn/post/6965778290619449351</a> has detail setup.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-strip-route-prefix-for-path-matching"></a>How to strip route prefi [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/IGNORE_DOC/index.html b/docs/apisix/2.10.0/IGNORE_DOC/index.html
index d3edb7a..83cfa0f 100644
--- a/docs/apisix/2.10.0/IGNORE_DOC/index.html
+++ b/docs/apisix/2.10.0/IGNORE_DOC/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/admin-api/index.html b/docs/apisix/2.10.0/admin-api/index.html
index 8859bed..5390f0e 100644
--- a/docs/apisix/2.10.0/admin-api/index.html
+++ b/docs/apisix/2.10.0/admin-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -86,7 +86,7 @@ This feature requires APISIX to run on <a href="/docs/apisix/2.10.0/how-to-build
 used when all the nodes with higher priority are unavailable or tried.</p><p>As the default priority is 0, we can configure nodes with negative priority as the backup.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="tok [...]
 Therefore, it is the backup of <code>127.0.0.1</code>.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="response-parameters-3"></a>Response Parameters<a class="hash-link" href="#response-parameters-3" title="Direct link to heading">#</a></h3><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7- [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/apisix/index.html b/docs/apisix/2.10.0/architecture-design/apisix/index.html
index 8356d6b..79f6c79 100644
--- a/docs/apisix/2.10.0/architecture-design/apisix/index.html
+++ b/docs/apisix/2.10.0/architecture-design/apisix/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuati [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">host</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/consumer/index.html b/docs/apisix/2.10.0/architecture-design/consumer/index.html
index 6e2ec93..1363166 100644
--- a/docs/apisix/2.10.0/architecture-design/consumer/index.html
+++ b/docs/apisix/2.10.0/architecture-design/consumer/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.10.0/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color: [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><spa [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row 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" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBo [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/debug-mode/index.html b/docs/apisix/2.10.0/architecture-design/debug-mode/index.html
index 83df093..98fc6c9 100644
--- a/docs/apisix/2.10.0/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.10.0/architecture-design/debug-mode/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can not be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" 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 re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/global-rule/index.html b/docs/apisix/2.10.0/architecture-design/global-rule/index.html
index ac2e342..6353da8 100644
--- a/docs/apisix/2.10.0/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.10.0/architecture-design/global-rule/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 We can register a global <a href="/docs/apisix/2.10.0/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="tok [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/plugin-config/index.html b/docs/apisix/2.10.0/architecture-design/plugin-config/index.html
index 294be57..d2fb42e 100644
--- a/docs/apisix/2.10.0/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.10.0/architecture-design/plugin-config/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color: [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="col [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/plugin/index.html b/docs/apisix/2.10.0/architecture-design/plugin/index.html
index 61f0f44..77aa526 100644
--- a/docs/apisix/2.10.0/architecture-design/plugin/index.html
+++ b/docs/apisix/2.10.0/architecture-design/plugin/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 then its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.10.0/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/route/index.html b/docs/apisix/2.10.0/architecture-design/route/index.html
index 58bb44a..4d53d68 100644
--- a/docs/apisix/2.10.0/architecture-design/route/index.html
+++ b/docs/apisix/2.10.0/architecture-design/route/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/router/index.html b/docs/apisix/2.10.0/architecture-design/router/index.html
index 44197f7..aec4e99 100644
--- a/docs/apisix/2.10.0/architecture-design/router/index.html
+++ b/docs/apisix/2.10.0/architecture-design/router/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/script/index.html b/docs/apisix/2.10.0/architecture-design/script/index.html
index 8385fd6..569b264 100644
--- a/docs/apisix/2.10.0/architecture-design/script/index.html
+++ b/docs/apisix/2.10.0/architecture-design/script/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/service/index.html b/docs/apisix/2.10.0/architecture-design/service/index.html
index 078cf4f..9dd96d8 100644
--- a/docs/apisix/2.10.0/architecture-design/service/index.html
+++ b/docs/apisix/2.10.0/architecture-design/service/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/100 -H </span><s [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/architecture-design/upstream/index.html b/docs/apisix/2.10.0/architecture-design/upstream/index.html
index 9c447ff..d86c6aa 100644
--- a/docs/apisix/2.10.0/architecture-design/upstream/index.html
+++ b/docs/apisix/2.10.0/architecture-design/upstream/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/aws/index.html b/docs/apisix/2.10.0/aws/index.html
index e0b5567..89104e3 100644
--- a/docs/apisix/2.10.0/aws/index.html
+++ b/docs/apisix/2.10.0/aws/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
 <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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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/apis [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/batch-processor/index.html b/docs/apisix/2.10.0/batch-processor/index.html
index d716727..21101e6 100644
--- a/docs/apisix/2.10.0/batch-processor/index.html
+++ b/docs/apisix/2.10.0/batch-processor/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Note: P [...]
 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><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/benchmark/index.html b/docs/apisix/2.10.0/benchmark/index.html
index a70ec02..2171d3f 100644
--- a/docs/apisix/2.10.0/benchmark/index.html
+++ b/docs/apisix/2.10.0/benchmark/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" 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 anchor__h4 ancho [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/certificate/index.html b/docs/apisix/2.10.0/certificate/index.html
index 80c8010..63a1ea4 100644
--- a/docs/apisix/2.10.0/certificate/index.html
+++ b/docs/apisix/2.10.0/certificate/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/certificate.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/control-api/index.html b/docs/apisix/2.10.0/control-api/index.html
index 69f3f9e..a103974 100644
--- a/docs/apisix/2.10.0/control-api/index.html
+++ b/docs/apisix/2.10.0/control-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ of fields like <code>consumer_schema</code> or <code>type</code>, it is depended
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.10.0/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex=" [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
 Note that when you enable stream proxy, APISIX will run another Lua VM for the stream subsystem. It won&#x27;t trigger a full GC in this Lua VM .</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1routes"></a>Get /v1/routes<a class="hash-link" href="#get-v1routes" title="Direct link to heading">#</a></h3><p>Introduced since <code>v3.0</code>.</p><p>Return all routes info in the format below:</p><div class="codeBlockContainer_K [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/customize-nginx-configuration/index.html b/docs/apisix/2.10.0/customize-nginx-configuration/index.html
index ba7fc54..e5704b6 100644
--- a/docs/apisix/2.10.0/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.10.0/customize-nginx-configuration/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></span><span class="token-line" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/debug-function/index.html b/docs/apisix/2.10.0/debug-function/index.html
index b41eaae..121d5c5 100644
--- a/docs/apisix/2.10.0/debug-function/index.html
+++ b/docs/apisix/2.10.0/debug-function/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/discovery/consul_kv/index.html b/docs/apisix/2.10.0/discovery/consul_kv/index.html
index 5418dac..c5d74d9 100644
--- a/docs/apisix/2.10.0/discovery/consul_kv/index.html
+++ b/docs/apisix/2.10.0/discovery/consul_kv/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 anchor__h3 anchorWithHideOnScrollNavbar_ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span c [...]
 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 anchor__h3 anchorWithHideOnScrollNavbar_3R7-" 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 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/discovery/dns/index.html b/docs/apisix/2.10.0/discovery/dns/index.html
index 2673b39..9a2f5ea 100644
--- a/docs/apisix/2.10.0/discovery/dns/index.html
+++ b/docs/apisix/2.10.0/discovery/dns/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/discovery/eureka/index.html b/docs/apisix/2.10.0/discovery/eureka/index.html
index da30920..cd50e3b 100644
--- a/docs/apisix/2.10.0/discovery/eureka/index.html
+++ b/docs/apisix/2.10.0/discovery/eureka/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 reading from <a href="/docs/apisix/2.10.0/discovery#supported-discovery-registries">Supported discovery registries</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/eureka.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_u [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/discovery/index.html b/docs/apisix/2.10.0/discovery/index.html
index 86b40cd..5a56b06 100644
--- a/docs/apisix/2.10.0/discovery/index.html
+++ b/docs/apisix/2.10.0/discovery/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" s [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/discovery/nacos/index.html b/docs/apisix/2.10.0/discovery/nacos/index.html
index a26d819..d3afc35 100644
--- a/docs/apisix/2.10.0/discovery/nacos/index.html
+++ b/docs/apisix/2.10.0/discovery/nacos/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.10.0/examples/plugins-hmac-auth-generate-signature/index.html
index 2ef72a9..3fd2ae7 100644
--- a/docs/apisix/2.10.0/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.10.0/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -56,7 +56,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></span><span class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="shell"></a>Shell<a class= [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/external-plugin/index.html b/docs/apisix/2.10.0/external-plugin/index.html
index d61245b..b1193be 100644
--- a/docs/apisix/2.10.0/external-plugin/index.html
+++ b/docs/apisix/2.10.0/external-plugin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ declare your variable first in the <code>conf/config.yaml</code>:</p><div class=
 OpenResty 1.19+.</p><p>However, APISIX needs to wait the runner to quit so that we can ensure the resource
 for the process group is freed.</p><p>Therefore, we send SIGTERM first. And then after 1 second, if the runner is still
 running, we will send SIGKILL.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/external-plugin.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><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.5l [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/getting-started/index.html b/docs/apisix/2.10.0/getting-started/index.html
index 82fcaf6..ef02123 100644
--- a/docs/apisix/2.10.0/getting-started/index.html
+++ b/docs/apisix/2.10.0/getting-started/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/grpc-proxy/index.html b/docs/apisix/2.10.0/grpc-proxy/index.html
index c78fe92..468589c 100644
--- a/docs/apisix/2.10.0/grpc-proxy/index.html
+++ b/docs/apisix/2.10.0/grpc-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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>< [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/health-check/index.html b/docs/apisix/2.10.0/health-check/index.html
index 096cba3..4596fab 100644
--- a/docs/apisix/2.10.0/health-check/index.html
+++ b/docs/apisix/2.10.0/health-check/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</li><li>If there is no healthy node can be chosen, we will continue to access the upstream.</li><li>We won&#x27;t start the health check when the upstream only has one node, as we will access
 it whether this unique node is healthy or not.</li><li>Active health check is required so that the unhealthy node can recover.</li></ul><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="configuration-instructions"></a>Configuration instructions<a class="hash-link" href="#configuration-instructions" title="Direct link to heading">#</a></h3><table><thead><tr><th>Configuration item</th><th>Configuration type</th><th>Value type</th><th>Va [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/how-to-build/index.html b/docs/apisix/2.10.0/how-to-build/index.html
index 41b2edf..133dd21 100644
--- a/docs/apisix/2.10.0/how-to-build/index.html
+++ b/docs/apisix/2.10.0/how-to-build/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 If you need these features, you can build the APISIX OpenResty.
 You can refer to the source of <a href="https://github.com/api7/apisix-build-tools" target="_blank" rel="noopener noreferrer">api7/apisix-build-tools</a> for how to set up the build environment and build the APISIX OpenResty.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="step-7-add-systemd-unit-file-for-apache-apisix"></a>Step 7: Add Systemd Unit File for Apache APISIX<a class="hash-link" href="#step-7-add-systemd-unit-file-for [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/install-dependencies/index.html b/docs/apisix/2.10.0/install-dependencies/index.html
index a6de441..227ff0c 100644
--- a/docs/apisix/2.10.0/install-dependencies/index.html
+++ b/docs/apisix/2.10.0/install-dependencies/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># install LuaRocks</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> https://raw.githubusercontent.com/apache/apisix/master/utils/linux-install-luarocks.sh -sL </spa [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></span></code></pre [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">brew services start etcd</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="th [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/internal/testing-framework/index.html b/docs/apisix/2.10.0/internal/testing-framework/index.html
index a0f20cf..3e5627c 100644
--- a/docs/apisix/2.10.0/internal/testing-framework/index.html
+++ b/docs/apisix/2.10.0/internal/testing-framework/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Introducing APISIX&#x27;s testing framework | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Introducing APISIX&#x27;s testing framework | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@ This allows us to write methods inside <code>t/lib/server.lua</code> to emulate
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">==</span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> TEST </span><span class="token number" style="color:#36acaa">2</span><span class="token plain">: vars rule with </span><span class="token operator" style="color:#393A34">!</span><span class="token plain"> </span><span class="token punctuation" style="c [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/mtls/index.html b/docs/apisix/2.10.0/mtls/index.html
index 3892353..37bafb7 100644
--- a/docs/apisix/2.10.0/mtls/index.html
+++ b/docs/apisix/2.10.0/mtls/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS Authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS Authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token builtin">len</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">sys</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">)</span><span cl [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">reqParam </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">&quot;tls&quot;</span><span class="token punctuation" style=" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">resp </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> requests</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">patch</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/upstreams/&quot;</span><span class="toke [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugin-develop/index.html b/docs/apisix/2.10.0/plugin-develop/index.html
index 5fc4bdd..1a3865d 100644
--- a/docs/apisix/2.10.0/plugin-develop/index.html
+++ b/docs/apisix/2.10.0/plugin-develop/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -59,7 +59,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.10.0/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.10.0/control-api">Control API</a [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    return {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></span><span class="token-line" style="color:#393A3 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugin-interceptors/index.html b/docs/apisix/2.10.0/plugin-interceptors/index.html
index 9f0dfc8..ce5d8e8 100644
--- a/docs/apisix/2.10.0/plugin-interceptors/index.html
+++ b/docs/apisix/2.10.0/plugin-interceptors/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/pl [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.10.0/plugins/ip-restriction">ip-restriction</a></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener" class="theme-edit-th [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/api-breaker/index.html b/docs/apisix/2.10.0/plugins/api-breaker/index.html
index 54a0af2..05fd914 100644
--- a/docs/apisix/2.10.0/plugins/api-breaker/index.html
+++ b/docs/apisix/2.10.0/plugins/api-breaker/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 a [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/authz-casbin/index.html b/docs/apisix/2.10.0/plugins/authz-casbin/index.html
index d2dfb0a..9bb8c2a 100644
--- a/docs/apisix/2.10.0/plugins/authz-casbin/index.html
+++ b/docs/apisix/2.10.0/plugins/authz-casbin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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-casbin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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-casbin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[policy_effect]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">e = some(where (p.eft == allow))</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>And the example policy as:</p><div class="code [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/authz-keycloak/index.html b/docs/apisix/2.10.0/plugins/authz-keycloak/index.html
index 0ac1275..5e242f4 100644
--- a/docs/apisix/2.10.0/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.10.0/plugins/authz-keycloak/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class=" [...]
 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><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row 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" class="theme-edit-this-pag [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/basic-auth/index.html b/docs/apisix/2.10.0/plugins/basic-auth/index.html
index 0189029..7b5d0e6 100644
--- a/docs/apisix/2.10.0/plugins/basic-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/basic-auth/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</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="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/batch-requests/index.html b/docs/apisix/2.10.0/plugins/batch-requests/index.html
index a599960..a8befba 100644
--- a/docs/apisix/2.10.0/plugins/batch-requests/index.html
+++ b/docs/apisix/2.10.0/plugins/batch-requests/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 You may need to use <a href="/docs/apisix/2.10.0/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-configure"></a>How To Configure<a  [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/client-control/index.html b/docs/apisix/2.10.0/plugins/client-control/index.html
index bb04f95..d8adc41 100644
--- a/docs/apisix/2.10.0/plugins/client-control/index.html
+++ b/docs/apisix/2.10.0/plugins/client-control/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ handle the client request.</p><p><strong>This plugin requires APISIX to run on <
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">413</span><span class="token plain"> Request Entity Too Large</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span>< [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/consumer-restriction/index.html b/docs/apisix/2.10.0/plugins/consumer-restriction/index.html
index d68830b..0e69de7 100644
--- a/docs/apisix/2.10.0/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/consumer-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/cors/index.html b/docs/apisix/2.10.0/plugins/cors/index.html
index 6d1a69c..da736ff 100644
--- a/docs/apisix/2.10.0/plugins/cors/index.html
+++ b/docs/apisix/2.10.0/plugins/cors/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 con [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/dubbo-proxy/index.html b/docs/apisix/2.10.0/plugins/dubbo-proxy/index.html
index 27736dd..20a38cb 100644
--- a/docs/apisix/2.10.0/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.10.0/plugins/dubbo-proxy/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ They should provide the same result.</p><p>The returned data from upstream dubbo
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="toke [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/echo/index.html b/docs/apisix/2.10.0/plugins/echo/index.html
index 7a93688..55cc9fa 100644
--- a/docs/apisix/2.10.0/plugins/echo/index.html
+++ b/docs/apisix/2.10.0/plugins/echo/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/error-log-logger/index.html b/docs/apisix/2.10.0/plugins/error-log-logger/index.html
index b28fc03..d706190 100644
--- a/docs/apisix/2.10.0/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/error-log-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <a href="/docs/apisix/2.10.0/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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>tcp.host</td><td>string</td><td>required</td><td></td><td></td><td>IP  [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/ext-plugin-post-req/index.html b/docs/apisix/2.10.0/plugins/ext-plugin-post-req/index.html
index 084e6ca..6abf132 100644
--- a/docs/apisix/2.10.0/plugins/ext-plugin-post-req/index.html
+++ b/docs/apisix/2.10.0/plugins/ext-plugin-post-req/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 before proxying to the upstream.</p><p>See the documentation of <a href="/docs/apisix/2.10.0/plugins/ext-plugin-pre-req">ext-plugin-pre-req</a> for how to configure it.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/ext-plugin-post-req.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" he [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/ext-plugin-pre-req/index.html b/docs/apisix/2.10.0/plugins/ext-plugin-pre-req/index.html
index 8afebd4..e949d72 100644
--- a/docs/apisix/2.10.0/plugins/ext-plugin-pre-req/index.html
+++ b/docs/apisix/2.10.0/plugins/ext-plugin-pre-req/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-pre-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-pre-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ executing most of the builtin Lua plugins.</p><p>To know what is the plugin runn
 is executed at that side.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 this plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/fault-injection/index.html b/docs/apisix/2.10.0/plugins/fault-injection/index.html
index 480c8ef..02fd629 100644
--- a/docs/apisix/2.10.0/plugins/fault-injection/index.html
+++ b/docs/apisix/2.10.0/plugins/fault-injection/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockC [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockConte [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/grpc-transcode/index.html b/docs/apisix/2.10.0/plugins/grpc-transcode/index.html
index bb5b191..ef66cb2 100644
--- a/docs/apisix/2.10.0/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.10.0/plugins/grpc-transcode/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy code to clipbo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><spa [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/gzip/index.html b/docs/apisix/2.10.0/plugins/gzip/index.html
index 1665e97..cf75713 100644
--- a/docs/apisix/2.10.0/plugins/gzip/index.html
+++ b/docs/apisix/2.10.0/plugins/gzip/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gzip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gzip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: Binary output can mess up your terminal. Use </span><span class="token string" style="color:#e3116c">&quot;--output -&quot;</span><span class="token plain"> to tell</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> to output it to your terminal anyway, or [...]
 you can delete the corresponding JSON configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/hmac-auth/index.html b/docs/apisix/2.10.0/plugins/hmac-auth/index.html
index 0524ccb..84fab45 100644
--- a/docs/apisix/2.10.0/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/hmac-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -35,7 +35,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/http-logger/index.html b/docs/apisix/2.10.0/plugins/http-logger/index.html
index 7e2259b..abc573e 100644
--- a/docs/apisix/2.10.0/plugins/http-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/http-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/ip-restriction/index.html b/docs/apisix/2.10.0/plugins/ip-restriction/index.html
index 9e81330..ff95edf 100644
--- a/docs/apisix/2.10.0/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/ip-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/jwt-auth/index.html b/docs/apisix/2.10.0/plugins/jwt-auth/index.html
index 7237466..994b322 100644
--- a/docs/apisix/2.10.0/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/jwt-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ You may need to use <a href="/docs/apisix/2.10.0/plugin-interceptors">intercepto
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:#393A34">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/kafka-logger/index.html b/docs/apisix/2.10.0/plugins/kafka-logger/index.html
index 6aedabf..6b9c861 100644
--- a/docs/apisix/2.10.0/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/kafka-logger/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span cla [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/key-auth/index.html b/docs/apisix/2.10.0/plugins/key-auth/index.html
index e9259d1..0649f05 100644
--- a/docs/apisix/2.10.0/plugins/key-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/key-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/limit-conn/index.html b/docs/apisix/2.10.0/plugins/limit-conn/index.html
index b1272ba..8b58e4e 100644
--- a/docs/apisix/2.10.0/plugins/limit-conn/index.html
+++ b/docs/apisix/2.10.0/plugins/limit-conn/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token opera [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/limit-count/index.html b/docs/apisix/2.10.0/plugins/limit-count/index.html
index 940b646..0a46dfa 100644
--- a/docs/apisix/2.10.0/plugins/limit-count/index.html
+++ b/docs/apisix/2.10.0/plugins/limit-count/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Requests are too frequent, please try again later.&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/limit-req/index.html b/docs/apisix/2.10.0/plugins/limit-req/index.html
index 73207fe..65dd14e 100644
--- a/docs/apisix/2.10.0/plugins/limit-req/index.html
+++ b/docs/apisix/2.10.0/plugins/limit-req/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Requests are too frequent, please try again later.&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/log-rotate/index.html b/docs/apisix/2.10.0/plugins/log-rotate/index.html
index 4eee304..116b89b 100644
--- a/docs/apisix/2.10.0/plugins/log-rotate/index.html
+++ b/docs/apisix/2.10.0/plugins/log-rotate/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ When the number of log files exceeds the remaining number, the old files are aut
 For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></span><span class="token-line" style="color:# [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">plugin_attr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">log-rotate</span><span class="token punctuation" style="color:#393A34">:</span><span cla [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/mqtt-proxy/index.html b/docs/apisix/2.10.0/plugins/mqtt-proxy/index.html
index c6a8ea9..627a890 100644
--- a/docs/apisix/2.10.0/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.10.0/plugins/mqtt-proxy/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash- [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">...</span><span class="token [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/node-status/index.html b/docs/apisix/2.10.0/plugins/node-status/index.html
index 9d6e4ba..23d3f5f 100644
--- a/docs/apisix/2.10.0/plugins/node-status/index.html
+++ b/docs/apisix/2.10.0/plugins/node-status/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ then you can add this plugin in any route.</li></ol><div class="codeBlockContain
 then you can not add this plugin in any route.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</ [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly sh"><pre tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/openid-connect/index.html b/docs/apisix/2.10.0/plugins/openid-connect/index.html
index b89a75a..d894674 100644
--- a/docs/apisix/2.10.0/plugins/openid-connect/index.html
+++ b/docs/apisix/2.10.0/plugins/openid-connect/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -49,7 +49,7 @@ Once the user has authenticated against the identity provider, the plugin will o
 and further information from the identity provider on behalf of the user. The information is currently stored
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
 and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/prometheus/index.html b/docs/apisix/2.10.0/plugins/prometheus/index.html
index 59264d5..5d8539d 100644
--- a/docs/apisix/2.10.0/plugins/prometheus/index.html
+++ b/docs/apisix/2.10.0/plugins/prometheus/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ you may need to use <a href="/docs/apisix/2.10.0/plugin-interceptors">intercepto
 Notice, <code>name</code> could be duplicated for multiple routes/services, so when set <code>prefer_name</code> to <code>true</code>, take care of naming format or it could be misleading.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#3 [...]
 these metric data.</p><p>For example like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">scrape_configs</span><span class="token punctuation" style="color:#393A34">:</span><span class="token  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/proxy-cache/index.html b/docs/apisix/2.10.0/plugins/proxy-cache/index.html
index 5714a0a..3212e65 100644
--- a/docs/apisix/2.10.0/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.10.0/plugins/proxy-cache/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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:</l [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 are [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/proxy-mirror/index.html b/docs/apisix/2.10.0/plugins/proxy-mirror/index.html
index ab05d8f..25b1900 100644
--- a/docs/apisix/2.10.0/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.10.0/plugins/proxy-mirror/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="codeBlockContainer_K1bP"><div class [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/proxy-rewrite/index.html b/docs/apisix/2.10.0/plugins/proxy-rewrite/index.html
index ee7b288..7466413 100644
--- a/docs/apisix/2.10.0/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.10.0/plugins/proxy-rewrite/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</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="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  - [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/real-ip/index.html b/docs/apisix/2.10.0/plugins/real-ip/index.html
index 8070373..8c8adf3 100644
--- a/docs/apisix/2.10.0/plugins/real-ip/index.html
+++ b/docs/apisix/2.10.0/plugins/real-ip/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">real-ip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">real-ip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</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="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/redirect/index.html b/docs/apisix/2.10.0/plugins/redirect/index.html
index 05510b0..8c6c17c 100644
--- a/docs/apisix/2.10.0/plugins/redirect/index.html
+++ b/docs/apisix/2.10.0/plugins/redirect/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 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="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  - [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/referer-restriction/index.html b/docs/apisix/2.10.0/plugins/referer-restriction/index.html
index be74184..c39b826 100644
--- a/docs/apisix/2.10.0/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/referer-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ whitelisting/blacklisting request header Referrers.</p><h2><a aria-hidden="true"
 The message can be user-defined.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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>referer-restriction</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/request-id/index.html b/docs/apisix/2.10.0/plugins/request-id/index.html
index 7a516a3..9c6bed3 100644
--- a/docs/apisix/2.10.0/plugins/request-id/index.html
+++ b/docs/apisix/2.10.0/plugins/request-id/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 [...]
 read the documentation first before deciding to use snowflake. Because once the configuration information is enabled, you can not arbitrarily adjust the configuration information. Failure to do so may result in duplicate ID being generated.</p></blockquote><p>The Snowflake algorithm is not enabled by default and needs to be configured in &#x27;conf/config.yaml&#x27;.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code langua [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/request-validation/index.html b/docs/apisix/2.10.0/plugins/request-validation/index.html
index 8655c7b..0fadbae 100644
--- a/docs/apisix/2.10.0/plugins/request-validation/index.html
+++ b/docs/apisix/2.10.0/plugins/request-validation/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table>< [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/response-rewrite/index.html b/docs/apisix/2.10.0/plugins/response-rewrite/index.html
index 7bd991e..f4ebc45 100644
--- a/docs/apisix/2.10.0/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.10.0/plugins/response-rewrite/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;code&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;ok&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/server-info/index.html b/docs/apisix/2.10.0/plugins/server-info/index.html
index df27350..4358fd8 100644
--- a/docs/apisix/2.10.0/plugins/server-info/index.html
+++ b/docs/apisix/2.10.0/plugins/server-info/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/serverless/index.html b/docs/apisix/2.10.0/plugins/serverless/index.html
index 0e6488d..60d59e8 100644
--- a/docs/apisix/2.10.0/plugins/serverless/index.html
+++ b/docs/apisix/2.10.0/plugins/serverless/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/skywalking/index.html b/docs/apisix/2.10.0/plugins/skywalking/index.html
index f40505a..a43b576 100644
--- a/docs/apisix/2.10.0/plugins/skywalking/index.html
+++ b/docs/apisix/2.10.0/plugins/skywalking/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.PathVariable;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RequestMapping;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RestController;</span></span><span class="token-line" style="c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">/**</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @author cyxinda</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @create 2020-05-29 14:02</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @desc skywalking test controller</span></span><span class="token-line" style="color:#393A34"> [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">agent.service_name</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">yourservername</span [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/sls-logger/index.html b/docs/apisix/2.10.0/plugins/sls-logger/index.html
index 88cf284..c63d002 100644
--- a/docs/apisix/2.10.0/plugins/sls-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/sls-logger/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <a href="/docs/apisix/2.10.0/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 hre [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/syslog/index.html b/docs/apisix/2.10.0/plugins/syslog/index.html
index c545dd6..bfbb153 100644
--- a/docs/apisix/2.10.0/plugins/syslog/index.html
+++ b/docs/apisix/2.10.0/plugins/syslog/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/tcp-logger/index.html b/docs/apisix/2.10.0/plugins/tcp-logger/index.html
index a643f4a..e041d2f 100644
--- a/docs/apisix/2.10.0/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/tcp-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <a href="/docs/apisix/2.10.0/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 addr [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/traffic-split/index.html b/docs/apisix/2.10.0/plugins/traffic-split/index.html
index 489923e..eae2074 100644
--- a/docs/apisix/2.10.0/plugins/traffic-split/index.html
+++ b/docs/apisix/2.10.0/plugins/traffic-split/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ service_name, discovery_type, checks, retries, retry_timeout, desc, scheme, labe
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-col [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="matching-rules-correspond-to-upstream"></a>Matching rules correspond to upstream<a class="h [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/ua-restriction/index.html b/docs/apisix/2.10.0/plugins/ua-restriction/index.html
index 18ab265..e2875f9 100644
--- a/docs/apisix/2.10.0/plugins/ua-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/ua-restriction/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ua-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ua-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</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="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/udp-logger/index.html b/docs/apisix/2.10.0/plugins/udp-logger/index.html
index 199be94..a5547bb 100644
--- a/docs/apisix/2.10.0/plugins/udp-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/udp-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <a href="/docs/apisix/2.10.0/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 addr [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/uri-blocker/index.html b/docs/apisix/2.10.0/plugins/uri-blocker/index.html
index d775cc9..76875fc 100644
--- a/docs/apisix/2.10.0/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.10.0/plugins/uri-blocker/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If you set the property <code>rejected_msg</code> to <code>&quo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;access is not allowed&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy co [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/wolf-rbac/index.html b/docs/apisix/2.10.0/plugins/wolf-rbac/index.html
index 058a5ba..e4cce4c 100644
--- a/docs/apisix/2.10.0/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.10.0/plugins/wolf-rbac/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token stri [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/plugins/zipkin/index.html b/docs/apisix/2.10.0/plugins/zipkin/index.html
index 98866f0..16bf22a 100644
--- a/docs/apisix/2.10.0/plugins/zipkin/index.html
+++ b/docs/apisix/2.10.0/plugins/zipkin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></span><span class="token-line" style="color:#39 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">}</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener" class="th [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/profile/index.html b/docs/apisix/2.10.0/profile/index.html
index 12f0a70..4fe192d 100644
--- a/docs/apisix/2.10.0/profile/index.html
+++ b/docs/apisix/2.10.0/profile/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitte [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitte [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ requirements, we need to change the parameters in the configuration file to the
 development environment. You have to change it back. It&#x27;s very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
 between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
 tools such as git can be configured, and version management can be better achieved.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/router-radixtree/index.html b/docs/apisix/2.10.0/router-radixtree/index.html
index 2fb41fd..444b087 100644
--- a/docs/apisix/2.10.0/router-radixtree/index.html
+++ b/docs/apisix/2.10.0/router-radixtree/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">graphql</span><span class="token punctuation" style="color:#393A34">:</span><span class [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/router-radixtree.md [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/stand-alone/index.html b/docs/apisix/2.10.0/stand-alone/index.html
index ed92817..5f5ce09 100644
--- a/docs/apisix/2.10.0/stand-alone/index.html
+++ b/docs/apisix/2.10.0/stand-alone/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 the APISIX will check if this file has any changed every second.
 If the file changed and we found <code>#END</code> at the end of the file,
 APISIX will load the rules in this file and update to memory of APISIX.</p><p>Here is a mini example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" sty [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/stream-proxy/index.html b/docs/apisix/2.10.0/stream-proxy/index.html
index 9a161a8..61dea0c 100644
--- a/docs/apisix/2.10.0/stream-proxy/index.html
+++ b/docs/apisix/2.10.0/stream-proxy/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 By default, no stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></ [...]
 See <a href="/docs/apisix/2.10.0/admin-api#ssl">Admin API&#x27;s SSL section</a> for how to do.
 mTLS is also supported, see <a href="/docs/apisix/2.10.0/mtls#protect-route">Protect Route</a> for how to do.</p><p>Third, we need to configure a stream route to match and proxy it to the upstream:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><sp [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.10.0/tags/index.html b/docs/apisix/2.10.0/tags/index.html
index f610f63..6bb7862 100644
--- a/docs/apisix/2.10.0/tags/index.html
+++ b/docs/apisix/2.10.0/tags/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/FAQ/index.html b/docs/apisix/2.4/FAQ/index.html
index 5029738..02539ca 100644
--- a/docs/apisix/2.4/FAQ/index.html
+++ b/docs/apisix/2.4/FAQ/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ Run the <code>luarocks config rocks_servers</code> command(this command is suppo
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">These open issues may also help:</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">Can&#x27;</span><span class="token plain">t </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> openresty on macOS </span><span class="token number" style="color:#36acaa">10.15</span><span clas [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Error: A newer Command Line Tools release is available.</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Update them from Software Update </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> System Preferences or</span></span><span class="token-line" style="color:#393A34"><span class="token plain">https://developer.apple.com/d [...]
 See the <code>Hot reload</code> section in <a href="/docs/apisix/2.4/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/IGNORE_DOC/index.html b/docs/apisix/2.4/IGNORE_DOC/index.html
index a1f5978..b199aac 100644
--- a/docs/apisix/2.4/IGNORE_DOC/index.html
+++ b/docs/apisix/2.4/IGNORE_DOC/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/admin-api/index.html b/docs/apisix/2.4/admin-api/index.html
index 46a7cb5..be009ca 100644
--- a/docs/apisix/2.4/admin-api/index.html
+++ b/docs/apisix/2.4/admin-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -80,7 +80,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">After the execution is successful, nodes will not retain the original data, and the entire update is:</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token strin [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</e [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/apisix/index.html b/docs/apisix/2.4/architecture-design/apisix/index.html
index f683dc0..13d476e 100644
--- a/docs/apisix/2.4/architecture-design/apisix/index.html
+++ b/docs/apisix/2.4/architecture-design/apisix/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuati [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">host</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/consumer/index.html b/docs/apisix/2.4/architecture-design/consumer/index.html
index c401bcb..3d5a62f 100644
--- a/docs/apisix/2.4/architecture-design/consumer/index.html
+++ b/docs/apisix/2.4/architecture-design/consumer/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.4/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><spa [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row 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" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBo [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/debug-mode/index.html b/docs/apisix/2.4/architecture-design/debug-mode/index.html
index f0ad2b5..25f3ca4 100644
--- a/docs/apisix/2.4/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.4/architecture-design/debug-mode/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can not be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" 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 re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/global-rule/index.html b/docs/apisix/2.4/architecture-design/global-rule/index.html
index d54ea6d..36ac209 100644
--- a/docs/apisix/2.4/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.4/architecture-design/global-rule/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 We can register a global <a href="/docs/apisix/2.4/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/index.html b/docs/apisix/2.4/architecture-design/index.html
index 615c7d9..17373b8 100644
--- a/docs/apisix/2.4/architecture-design/index.html
+++ b/docs/apisix/2.4/architecture-design/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 anchor__h3 anchorWithHideOnScrollNavbar_3R7-" 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 re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/plugin-config/index.html b/docs/apisix/2.4/architecture-design/plugin-config/index.html
index 2efa461..670efca 100644
--- a/docs/apisix/2.4/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.4/architecture-design/plugin-config/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color: [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="col [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/plugin/index.html b/docs/apisix/2.4/architecture-design/plugin/index.html
index 8b1e465..0bcff82 100644
--- a/docs/apisix/2.4/architecture-design/plugin/index.html
+++ b/docs/apisix/2.4/architecture-design/plugin/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 then its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.4/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div cl [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/route/index.html b/docs/apisix/2.4/architecture-design/route/index.html
index adcc337..87a2714 100644
--- a/docs/apisix/2.4/architecture-design/route/index.html
+++ b/docs/apisix/2.4/architecture-design/route/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/router/index.html b/docs/apisix/2.4/architecture-design/router/index.html
index d7f60ca..9a85a97 100644
--- a/docs/apisix/2.4/architecture-design/router/index.html
+++ b/docs/apisix/2.4/architecture-design/router/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/script/index.html b/docs/apisix/2.4/architecture-design/script/index.html
index df4a812..9dca1f5 100644
--- a/docs/apisix/2.4/architecture-design/script/index.html
+++ b/docs/apisix/2.4/architecture-design/script/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/service/index.html b/docs/apisix/2.4/architecture-design/service/index.html
index 7034d27..d331ef3 100644
--- a/docs/apisix/2.4/architecture-design/service/index.html
+++ b/docs/apisix/2.4/architecture-design/service/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/100 -H </span><s [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/architecture-design/upstream/index.html b/docs/apisix/2.4/architecture-design/upstream/index.html
index 94f53f8..b492fcf 100644
--- a/docs/apisix/2.4/architecture-design/upstream/index.html
+++ b/docs/apisix/2.4/architecture-design/upstream/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/aws/index.html b/docs/apisix/2.4/aws/index.html
index 4a820ec..b360956 100644
--- a/docs/apisix/2.4/aws/index.html
+++ b/docs/apisix/2.4/aws/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
 <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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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/apis [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/batch-processor/index.html b/docs/apisix/2.4/batch-processor/index.html
index 2019cf9..00154f7 100644
--- a/docs/apisix/2.4/batch-processor/index.html
+++ b/docs/apisix/2.4/batch-processor/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Note: P [...]
 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><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/benchmark/index.html b/docs/apisix/2.4/benchmark/index.html
index 0e4a9e1..d7fe0ae 100644
--- a/docs/apisix/2.4/benchmark/index.html
+++ b/docs/apisix/2.4/benchmark/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" width="70%" height="70%"><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 ancho [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/certificate/index.html b/docs/apisix/2.4/certificate/index.html
index 895a740..905c94f 100644
--- a/docs/apisix/2.4/certificate/index.html
+++ b/docs/apisix/2.4/certificate/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/certificate.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/control-api/index.html b/docs/apisix/2.4/control-api/index.html
index 5e8e898..3fc3f82 100644
--- a/docs/apisix/2.4/control-api/index.html
+++ b/docs/apisix/2.4/control-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ If a plugin adds such a control API, please refer to each plugin&#x27;s document
 of fields like <code>consumer_schema</code> or <code>type</code>, it is dependended by the plugin&#x27;s
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.4/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0"  [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/customize-nginx-configuration/index.html b/docs/apisix/2.4/customize-nginx-configuration/index.html
index e60b52f..0be8f4f 100644
--- a/docs/apisix/2.4/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.4/customize-nginx-configuration/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></span><span class="token-line" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/debug-function/index.html b/docs/apisix/2.4/debug-function/index.html
index 4afb305..3602169 100644
--- a/docs/apisix/2.4/debug-function/index.html
+++ b/docs/apisix/2.4/debug-function/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/discovery/consul_kv/index.html b/docs/apisix/2.4/discovery/consul_kv/index.html
index 49b493a..3b9e77a 100644
--- a/docs/apisix/2.4/discovery/consul_kv/index.html
+++ b/docs/apisix/2.4/discovery/consul_kv/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 anchor__h3 anchorWithHideOnScrollNavbar_ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span c [...]
 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 anchor__h3 anchorWithHideOnScrollNavbar_3R7-" 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 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/discovery/dns/index.html b/docs/apisix/2.4/discovery/dns/index.html
index f1a6d61..6fb5715 100644
--- a/docs/apisix/2.4/discovery/dns/index.html
+++ b/docs/apisix/2.4/discovery/dns/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/discovery/eureka/index.html b/docs/apisix/2.4/discovery/eureka/index.html
index db291ad..1d619a7 100644
--- a/docs/apisix/2.4/discovery/eureka/index.html
+++ b/docs/apisix/2.4/discovery/eureka/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 reading from <a href="/docs/apisix/2.4/discovery#supported-discovery-registries">Supported discovery registries</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/eureka.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui"  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/discovery/index.html b/docs/apisix/2.4/discovery/index.html
index 990d10e..844a7bc 100644
--- a/docs/apisix/2.4/discovery/index.html
+++ b/docs/apisix/2.4/discovery/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -31,7 +31,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" s [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/discovery/nacos/index.html b/docs/apisix/2.4/discovery/nacos/index.html
index 362355d..194eef2 100644
--- a/docs/apisix/2.4/discovery/nacos/index.html
+++ b/docs/apisix/2.4/discovery/nacos/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/dns/index.html b/docs/apisix/2.4/dns/index.html
index 6a0825a..e8496fb 100644
--- a/docs/apisix/2.4/dns/index.html
+++ b/docs/apisix/2.4/dns/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
index 1f3c12a..33f4a53 100644
--- a/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -56,7 +56,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></span><span class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="shell"></a>Shell<a class= [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/external-plugin/index.html b/docs/apisix/2.4/external-plugin/index.html
index b54d24c..d6fbc64 100644
--- a/docs/apisix/2.4/external-plugin/index.html
+++ b/docs/apisix/2.4/external-plugin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ declare your variable first in the <code>conf/config.yaml</code>:</p><div class=
 OpenResty 1.19+.</p><p>However, APISIX needs to wait the runner to quit so that we can ensure the resource
 for the process group is freed.</p><p>Therefore, we send SIGTERM first. And then after 1 second, if the runner is still
 running, we will send SIGKILL.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/external-plugin.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><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.5l [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/getting-started/index.html b/docs/apisix/2.4/getting-started/index.html
index 3dd8768..caf1ae3 100644
--- a/docs/apisix/2.4/getting-started/index.html
+++ b/docs/apisix/2.4/getting-started/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -41,7 +41,7 @@ a web application to perform the similar. The dashboard is available in the foll
 <a href="https://github.com/apache/apisix" target="_blank" rel="noopener noreferrer">repository</a>. The dashboard is intuitive and you can orchestrate the
 same route configurations via the dashboard as well.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/dashboard.png" alt="Dashboard"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="troubleshooting"></a>Troubleshooting<a class="hash-link" href="#troubleshooting" title="Direct link to heading">#</a></h3><ul><li><p>Make sure the required ports are not being used by other systems/processes (T [...]
 The following is the command to kill a process which is listening to a specific port (in unix based systems).</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">``</span><span class="token variable" style="color:#36acaa">`</span [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/grpc-proxy/index.html b/docs/apisix/2.4/grpc-proxy/index.html
index a20abcc..6ecea19 100644
--- a/docs/apisix/2.4/grpc-proxy/index.html
+++ b/docs/apisix/2.4/grpc-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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>< [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/health-check/index.html b/docs/apisix/2.4/health-check/index.html
index e686e25..fcca53e 100644
--- a/docs/apisix/2.4/health-check/index.html
+++ b/docs/apisix/2.4/health-check/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 you can use it for upstream.</p><p>Note that we only start the health check when the upstream is hit by a request.
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</p><p>The following is an example of health check:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</spa [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/how-to-build/index.html b/docs/apisix/2.4/how-to-build/index.html
index c3dc91f..18e69cd 100644
--- a/docs/apisix/2.4/how-to-build/index.html
+++ b/docs/apisix/2.4/how-to-build/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ see how to do it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor ancho
 make sure to set openresty as default nginx. And export the path as below.</li></ul><ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH<ul><li>Linux default installation path:<ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH</li></ul></li><li>OSx default installation path via homebrew:<ul><li>export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH</li></ul></li></ul></li></ul><p><strong>Run Individual Test Cases</strong></p><ul><li>Use the following command to run test cases  [...]
 Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="to [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes?api_key</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="co [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/https/index.html b/docs/apisix/2.4/https/index.html
index 755219a..dc4b0e6 100644
--- a/docs/apisix/2.4/https/index.html
+++ b/docs/apisix/2.4/https/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/install-dependencies/index.html b/docs/apisix/2.4/install-dependencies/index.html
index 89b1a79..4f3659a 100644
--- a/docs/apisix/2.4/install-dependencies/index.html
+++ b/docs/apisix/2.4/install-dependencies/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -41,7 +41,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></span></code></pre [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">etcd </span><span class="token operator" style="color:#393A34">&amp;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain" sty [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># enable TLS for etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operator" style="color:# [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/internal/testing-framework/index.html b/docs/apisix/2.4/internal/testing-framework/index.html
index 558c8ad..7265320 100644
--- a/docs/apisix/2.4/internal/testing-framework/index.html
+++ b/docs/apisix/2.4/internal/testing-framework/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Introducing APISIX&#x27;s testing framework | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Introducing APISIX&#x27;s testing framework | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@ This allows us to write methods inside <code>t/lib/server.lua</code> to emulate
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">==</span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> TEST </span><span class="token number" style="color:#36acaa">2</span><span class="token plain">: vars rule with </span><span class="token operator" style="color:#393A34">!</span><span class="token plain"> </span><span class="token punctuation" style="c [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/mtls/index.html b/docs/apisix/2.4/mtls/index.html
index 583f3f4..c31ebae 100644
--- a/docs/apisix/2.4/mtls/index.html
+++ b/docs/apisix/2.4/mtls/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">mtls</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">enable</span><span class="token punctuation" style="color:#393A34">:</span><span class="token [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugin-develop/index.html b/docs/apisix/2.4/plugin-develop/index.html
index a96ac9d..6c3493c 100644
--- a/docs/apisix/2.4/plugin-develop/index.html
+++ b/docs/apisix/2.4/plugin-develop/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -55,7 +55,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.4/control-api">Control API</a>.</p> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    return {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></span><span class="token-line" style="color:#393A3 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugin-interceptors/index.html b/docs/apisix/2.4/plugin-interceptors/index.html
index 1a61c2b..ca32c25 100644
--- a/docs/apisix/2.4/plugin-interceptors/index.html
+++ b/docs/apisix/2.4/plugin-interceptors/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/pl [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.4/plugins/ip-restriction">ip-restriction</a></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this- [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/api-breaker/index.html b/docs/apisix/2.4/plugins/api-breaker/index.html
index d9db603..a0f46b7 100644
--- a/docs/apisix/2.4/plugins/api-breaker/index.html
+++ b/docs/apisix/2.4/plugins/api-breaker/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 a [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/authz-casbin/index.html b/docs/apisix/2.4/plugins/authz-casbin/index.html
index 8298203..7fe5ffe 100644
--- a/docs/apisix/2.4/plugins/authz-casbin/index.html
+++ b/docs/apisix/2.4/plugins/authz-casbin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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-casbin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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-casbin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[policy_effect]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">e = some(where (p.eft == allow))</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>And the example policy as:</p><div class="code [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/authz-keycloak/index.html b/docs/apisix/2.4/plugins/authz-keycloak/index.html
index fc7e059..cda77da 100644
--- a/docs/apisix/2.4/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.4/plugins/authz-keycloak/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class=" [...]
 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><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row 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" class="theme-edit-this-pag [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/basic-auth/index.html b/docs/apisix/2.4/plugins/basic-auth/index.html
index 7bf4d76..6e3ba40 100644
--- a/docs/apisix/2.4/plugins/basic-auth/index.html
+++ b/docs/apisix/2.4/plugins/basic-auth/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</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="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/batch-requests/index.html b/docs/apisix/2.4/plugins/batch-requests/index.html
index 5727528..9fe678e 100644
--- a/docs/apisix/2.4/plugins/batch-requests/index.html
+++ b/docs/apisix/2.4/plugins/batch-requests/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-configure"></a>How To Configure<a cla [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/client-control/index.html b/docs/apisix/2.4/plugins/client-control/index.html
index 6a1c42c..ae4d187 100644
--- a/docs/apisix/2.4/plugins/client-control/index.html
+++ b/docs/apisix/2.4/plugins/client-control/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ handle the client request.</p><p><strong>This plugin requires APISIX to run on <
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">413</span><span class="token plain"> Request Entity Too Large</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span>< [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/consumer-restriction/index.html b/docs/apisix/2.4/plugins/consumer-restriction/index.html
index 5034230..4035f7c 100644
--- a/docs/apisix/2.4/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/consumer-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/cors/index.html b/docs/apisix/2.4/plugins/cors/index.html
index f37a22e..234452d 100644
--- a/docs/apisix/2.4/plugins/cors/index.html
+++ b/docs/apisix/2.4/plugins/cors/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 con [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/dubbo-proxy/index.html b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
index 4651a3e..f64f0d4 100644
--- a/docs/apisix/2.4/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ They should provide the same result.</p><h2><a aria-hidden="true" tabindex="-1"
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="toke [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/echo/index.html b/docs/apisix/2.4/plugins/echo/index.html
index e56b06f..c21ef03 100644
--- a/docs/apisix/2.4/plugins/echo/index.html
+++ b/docs/apisix/2.4/plugins/echo/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/error-log-logger/index.html b/docs/apisix/2.4/plugins/error-log-logger/index.html
index 94f85c7..11fc7f6 100644
--- a/docs/apisix/2.4/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.4/plugins/error-log-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/ext-plugin-post-req/index.html b/docs/apisix/2.4/plugins/ext-plugin-post-req/index.html
index d4b835e..dae5f4e 100644
--- a/docs/apisix/2.4/plugins/ext-plugin-post-req/index.html
+++ b/docs/apisix/2.4/plugins/ext-plugin-post-req/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 before proxying to the upstream.</p><p>See the documentation of <a href="/docs/apisix/2.4/plugins/ext-plugin-pre-req">ext-plugin-pre-req</a> for how to configure it.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/ext-plugin-post-req.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" heigh [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/ext-plugin-pre-req/index.html b/docs/apisix/2.4/plugins/ext-plugin-pre-req/index.html
index 7d47760..090c7d4 100644
--- a/docs/apisix/2.4/plugins/ext-plugin-pre-req/index.html
+++ b/docs/apisix/2.4/plugins/ext-plugin-pre-req/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-pre-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-pre-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ executing most of the builtin Lua plugins.</p><p>To know what is the plugin runn
 is executed at that side.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 this plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/fault-injection/index.html b/docs/apisix/2.4/plugins/fault-injection/index.html
index bf31816..9b6c19b 100644
--- a/docs/apisix/2.4/plugins/fault-injection/index.html
+++ b/docs/apisix/2.4/plugins/fault-injection/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockC [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockConte [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/grpc-transcode/index.html b/docs/apisix/2.4/plugins/grpc-transcode/index.html
index 9718088..4fa99b3 100644
--- a/docs/apisix/2.4/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.4/plugins/grpc-transcode/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy code to clipbo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><spa [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/gzip/index.html b/docs/apisix/2.4/plugins/gzip/index.html
index c505a4c..a0bb13c 100644
--- a/docs/apisix/2.4/plugins/gzip/index.html
+++ b/docs/apisix/2.4/plugins/gzip/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gzip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gzip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: Binary output can mess up your terminal. Use </span><span class="token string" style="color:#e3116c">&quot;--output -&quot;</span><span class="token plain"> to tell</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> to output it to your terminal anyway, or [...]
 you can delete the corresponding JSON configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/hmac-auth/index.html b/docs/apisix/2.4/plugins/hmac-auth/index.html
index 7742c65..abc421b 100644
--- a/docs/apisix/2.4/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.4/plugins/hmac-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/http-logger/index.html b/docs/apisix/2.4/plugins/http-logger/index.html
index ffaf9fb..d82423a 100644
--- a/docs/apisix/2.4/plugins/http-logger/index.html
+++ b/docs/apisix/2.4/plugins/http-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/index.html b/docs/apisix/2.4/plugins/index.html
index e552cd0..8da2a78 100644
--- a/docs/apisix/2.4/plugins/index.html
+++ b/docs/apisix/2.4/plugins/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.4/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div cla [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/ip-restriction/index.html b/docs/apisix/2.4/plugins/ip-restriction/index.html
index fb641f5..65d1b44 100644
--- a/docs/apisix/2.4/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ip-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/jwt-auth/index.html b/docs/apisix/2.4/plugins/jwt-auth/index.html
index ec85059..8d62e85 100644
--- a/docs/apisix/2.4/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.4/plugins/jwt-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors<
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:#393A34">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/kafka-logger/index.html b/docs/apisix/2.4/plugins/kafka-logger/index.html
index fa8ba3c..6227fe3 100644
--- a/docs/apisix/2.4/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.4/plugins/kafka-logger/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span cla [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/key-auth/index.html b/docs/apisix/2.4/plugins/key-auth/index.html
index 8239967..fa287d3 100644
--- a/docs/apisix/2.4/plugins/key-auth/index.html
+++ b/docs/apisix/2.4/plugins/key-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/limit-conn/index.html b/docs/apisix/2.4/plugins/limit-conn/index.html
index 58d2e4f..fd128ff 100644
--- a/docs/apisix/2.4/plugins/limit-conn/index.html
+++ b/docs/apisix/2.4/plugins/limit-conn/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token opera [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/limit-count/index.html b/docs/apisix/2.4/plugins/limit-count/index.html
index 3b7dcb9..253befb 100644
--- a/docs/apisix/2.4/plugins/limit-count/index.html
+++ b/docs/apisix/2.4/plugins/limit-count/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-connt | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-connt | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/limit-req/index.html b/docs/apisix/2.4/plugins/limit-req/index.html
index 813c732..c95f661 100644
--- a/docs/apisix/2.4/plugins/limit-req/index.html
+++ b/docs/apisix/2.4/plugins/limit-req/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">html</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="t [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/log-rotate/index.html b/docs/apisix/2.4/plugins/log-rotate/index.html
index 61eb46c..826176f 100644
--- a/docs/apisix/2.4/plugins/log-rotate/index.html
+++ b/docs/apisix/2.4/plugins/log-rotate/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ When the number of log files exceeds the remaining number, the old files are aut
 For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></span><span class="token-line" style="color:# [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">plugin_attr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">log-rotate</span><span class="token punctuation" style="color:#393A34">:</span><span cla [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/mqtt-proxy/index.html b/docs/apisix/2.4/plugins/mqtt-proxy/index.html
index d985565..94f1150 100644
--- a/docs/apisix/2.4/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.4/plugins/mqtt-proxy/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash- [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">...</span><span class="token [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/node-status/index.html b/docs/apisix/2.4/plugins/node-status/index.html
index 1ec02fe..d1de13f 100644
--- a/docs/apisix/2.4/plugins/node-status/index.html
+++ b/docs/apisix/2.4/plugins/node-status/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ And this plugin will not make any difference in future requests, so usually we d
 then you can not add this plugin in any route.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</ [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly sh"><pre tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/openid-connect/index.html b/docs/apisix/2.4/plugins/openid-connect/index.html
index fdb698e..acd7291 100644
--- a/docs/apisix/2.4/plugins/openid-connect/index.html
+++ b/docs/apisix/2.4/plugins/openid-connect/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ Once the user has authenticated against the identity provider, the plugin will o
 and further information from the identity provider on behalf of the user. The information is currently stored
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
 and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/prometheus/index.html b/docs/apisix/2.4/plugins/prometheus/index.html
index cd02b6f..d9b24fe 100644
--- a/docs/apisix/2.4/plugins/prometheus/index.html
+++ b/docs/apisix/2.4/plugins/prometheus/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors<
 any options yet.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </span><span class="token st [...]
 these metric data.</p><p>For example like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">scrape_configs</span><span class="token punctuation" style="color:#393A34">:</span><span class="token  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/proxy-cache/index.html b/docs/apisix/2.4/plugins/proxy-cache/index.html
index bab1f01..aed8e10 100644
--- a/docs/apisix/2.4/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.4/plugins/proxy-cache/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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:</l [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 are [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/proxy-mirror/index.html b/docs/apisix/2.4/plugins/proxy-mirror/index.html
index c54d202..b55b76d 100644
--- a/docs/apisix/2.4/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.4/plugins/proxy-mirror/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="codeBlockContainer_K1bP"><div class [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/proxy-rewrite/index.html b/docs/apisix/2.4/plugins/proxy-rewrite/index.html
index 484c991..81752c5 100644
--- a/docs/apisix/2.4/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/proxy-rewrite/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</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="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  - [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/real-ip/index.html b/docs/apisix/2.4/plugins/real-ip/index.html
index f624931..a502cd5 100644
--- a/docs/apisix/2.4/plugins/real-ip/index.html
+++ b/docs/apisix/2.4/plugins/real-ip/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">real-ip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">real-ip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</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="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/redirect/index.html b/docs/apisix/2.4/plugins/redirect/index.html
index bb5ee11..9b89968 100644
--- a/docs/apisix/2.4/plugins/redirect/index.html
+++ b/docs/apisix/2.4/plugins/redirect/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 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="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  - [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/referer-restriction/index.html b/docs/apisix/2.4/plugins/referer-restriction/index.html
index 8f26409..e157ce0 100644
--- a/docs/apisix/2.4/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/referer-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 whitelisting request header Referrers.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 wh [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/request-id/index.html b/docs/apisix/2.4/plugins/request-id/index.html
index 791c9f7..92dfcfd 100644
--- a/docs/apisix/2.4/plugins/request-id/index.html
+++ b/docs/apisix/2.4/plugins/request-id/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/request-validation/index.html b/docs/apisix/2.4/plugins/request-validation/index.html
index 39a6fde..ebbe847 100644
--- a/docs/apisix/2.4/plugins/request-validation/index.html
+++ b/docs/apisix/2.4/plugins/request-validation/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table>< [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/response-rewrite/index.html b/docs/apisix/2.4/plugins/response-rewrite/index.html
index 9297425..6b8852e 100644
--- a/docs/apisix/2.4/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/response-rewrite/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;code&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;ok&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/server-info/index.html b/docs/apisix/2.4/plugins/server-info/index.html
index 1856784..83c0a43 100644
--- a/docs/apisix/2.4/plugins/server-info/index.html
+++ b/docs/apisix/2.4/plugins/server-info/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/serverless/index.html b/docs/apisix/2.4/plugins/serverless/index.html
index c28c23b..1225700 100644
--- a/docs/apisix/2.4/plugins/serverless/index.html
+++ b/docs/apisix/2.4/plugins/serverless/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/skywalking/index.html b/docs/apisix/2.4/plugins/skywalking/index.html
index c17940c..b7eba6e 100644
--- a/docs/apisix/2.4/plugins/skywalking/index.html
+++ b/docs/apisix/2.4/plugins/skywalking/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.PathVariable;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RequestMapping;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RestController;</span></span><span class="token-line" style="c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">/**</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @author cyxinda</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @create 2020-05-29 14:02</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @desc skywalking test controller</span></span><span class="token-line" style="color:#393A34"> [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">agent.service_name</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">yourservername</span [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/sls-logger/index.html b/docs/apisix/2.4/plugins/sls-logger/index.html
index 3de6ccb..387a99d 100644
--- a/docs/apisix/2.4/plugins/sls-logger/index.html
+++ b/docs/apisix/2.4/plugins/sls-logger/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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=" [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/syslog/index.html b/docs/apisix/2.4/plugins/syslog/index.html
index 6f924cd..3ff41a8 100644
--- a/docs/apisix/2.4/plugins/syslog/index.html
+++ b/docs/apisix/2.4/plugins/syslog/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/tcp-logger/index.html b/docs/apisix/2.4/plugins/tcp-logger/index.html
index 9fbc782..72559e1 100644
--- a/docs/apisix/2.4/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.4/plugins/tcp-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/traffic-split/index.html b/docs/apisix/2.4/plugins/traffic-split/index.html
index 1a87cb4..c431f601 100644
--- a/docs/apisix/2.4/plugins/traffic-split/index.html
+++ b/docs/apisix/2.4/plugins/traffic-split/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -35,7 +35,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-col [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/ua-restriction/index.html b/docs/apisix/2.4/plugins/ua-restriction/index.html
index 7146997..1b39fec 100644
--- a/docs/apisix/2.4/plugins/ua-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ua-restriction/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ua-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ua-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</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="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/udp-logger/index.html b/docs/apisix/2.4/plugins/udp-logger/index.html
index a2bdaa0..910cb11 100644
--- a/docs/apisix/2.4/plugins/udp-logger/index.html
+++ b/docs/apisix/2.4/plugins/udp-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/uri-blocker/index.html b/docs/apisix/2.4/plugins/uri-blocker/index.html
index 2a3a6a1..1bf9646 100644
--- a/docs/apisix/2.4/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.4/plugins/uri-blocker/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">. </span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 a [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/wolf-rbac/index.html b/docs/apisix/2.4/plugins/wolf-rbac/index.html
index 05e663c..9e20378 100644
--- a/docs/apisix/2.4/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.4/plugins/wolf-rbac/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token stri [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/plugins/zipkin/index.html b/docs/apisix/2.4/plugins/zipkin/index.html
index 9066fc9..2b6f089 100644
--- a/docs/apisix/2.4/plugins/zipkin/index.html
+++ b/docs/apisix/2.4/plugins/zipkin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></span><span class="token-line" style="color:#39 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">}</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener" class="th [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/powered-by/index.html b/docs/apisix/2.4/powered-by/index.html
index c7b0c4b..d6a3b6e 100644
--- a/docs/apisix/2.4/powered-by/index.html
+++ b/docs/apisix/2.4/powered-by/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 or providing commercial products including APISIX.</p><p>Users are encouraged to add themselves to this page, <a href="https://github.com/apache/apisix/issues/487" target="_blank" rel="noopener noreferrer">issue</a> and PR are welcomed.</p><ol><li><a href="https://hy.10086.cn/" target="_blank" rel="nofollow">中移杭研</a></li><li><a href="http://www.163.com" target="_blank" rel="nofollow">Netease 网易</a></li><li><a href="https://www.360.cn/" target="_blank" rel="nofollow">360 奇虎</a></li><li><a [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/profile/index.html b/docs/apisix/2.4/profile/index.html
index 8323f58..2d9ebaf 100644
--- a/docs/apisix/2.4/profile/index.html
+++ b/docs/apisix/2.4/profile/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitte [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitte [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ requirements, we need to change the parameters in the configuration file to the
 development environment. You have to change it back. It&#x27;s very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
 between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
 tools such as git can be configured, and version management can be better achieved.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/router-radixtree/index.html b/docs/apisix/2.4/router-radixtree/index.html
index 67da330..ec14797 100644
--- a/docs/apisix/2.4/router-radixtree/index.html
+++ b/docs/apisix/2.4/router-radixtree/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">graphql</span><span class="token punctuation" style="color:#393A34">:</span><span class [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/router-radixtree.md [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/stand-alone/index.html b/docs/apisix/2.4/stand-alone/index.html
index 9151ae3..cff0625 100644
--- a/docs/apisix/2.4/stand-alone/index.html
+++ b/docs/apisix/2.4/stand-alone/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 the APISIX will check if this file has any changed every second.
 If the file changed and we found <code>#END</code> at the end of the file,
 APISIX will load the rules in this file and update to memory of APISIX.</p><p>Here is a mini example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" sty [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/stream-proxy/index.html b/docs/apisix/2.4/stream-proxy/index.html
index 787cce8..a58a24d 100644
--- a/docs/apisix/2.4/stream-proxy/index.html
+++ b/docs/apisix/2.4/stream-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 By default, no any stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></spa [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.4/tags/index.html b/docs/apisix/2.4/tags/index.html
index 289217b..7954062 100644
--- a/docs/apisix/2.4/tags/index.html
+++ b/docs/apisix/2.4/tags/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/FAQ/index.html b/docs/apisix/2.5/FAQ/index.html
index a9388b1..0959189 100644
--- a/docs/apisix/2.5/FAQ/index.html
+++ b/docs/apisix/2.5/FAQ/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ For China mainland users, you can use the <code>luarocks.cn</code> as the luaroc
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Error: A newer Command Line Tools release is available.</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Update them from Software Update </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> System Preferences or</span></span><span class="token-line" style="color:#393A34"><span class="token plain">https://developer.apple.com/d [...]
 See the <code>Hot reload</code> section in <a href="/docs/apisix/2.5/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># The uri match failed</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/12ab -i</span></span><span class="token-line" style="color:#393A34"><s [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/IGNORE_DOC/index.html b/docs/apisix/2.5/IGNORE_DOC/index.html
index b95c189..81edb59 100644
--- a/docs/apisix/2.5/IGNORE_DOC/index.html
+++ b/docs/apisix/2.5/IGNORE_DOC/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/admin-api/index.html b/docs/apisix/2.5/admin-api/index.html
index 07e3aab..6824383 100644
--- a/docs/apisix/2.5/admin-api/index.html
+++ b/docs/apisix/2.5/admin-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -82,7 +82,7 @@
 used when all the nodes with higher priority are unavailable or tried.</p><p>As the default priority is 0, we can configure nodes with negative priority as the backup.</p><p>For example,</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="tok [...]
 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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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 Met [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/apisix/index.html b/docs/apisix/2.5/architecture-design/apisix/index.html
index c778d3a..f32723c 100644
--- a/docs/apisix/2.5/architecture-design/apisix/index.html
+++ b/docs/apisix/2.5/architecture-design/apisix/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 and keep other configurations as default. The configuration in <code>config.yaml</code> should be like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuati [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">etcd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">host</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/consumer/index.html b/docs/apisix/2.5/architecture-design/consumer/index.html
index 606d847..9e2625b 100644
--- a/docs/apisix/2.5/architecture-design/consumer/index.html
+++ b/docs/apisix/2.5/architecture-design/consumer/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.5/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><spa [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row 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" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBo [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/debug-mode/index.html b/docs/apisix/2.5/architecture-design/debug-mode/index.html
index a6b5cb8..c987502 100644
--- a/docs/apisix/2.5/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.5/architecture-design/debug-mode/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 anchor__h3 anchorWithHideOnScrollNavbar_3R7-" 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 re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/global-rule/index.html b/docs/apisix/2.5/architecture-design/global-rule/index.html
index ecfe76a..a15612d 100644
--- a/docs/apisix/2.5/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.5/architecture-design/global-rule/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 We can register a global <a href="/docs/apisix/2.5/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token  [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/index.html b/docs/apisix/2.5/architecture-design/index.html
index 4cca533..0988511 100644
--- a/docs/apisix/2.5/architecture-design/index.html
+++ b/docs/apisix/2.5/architecture-design/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">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 anchor__h3 anchorWithHideOnScrollNavbar_3R7-" 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 re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/plugin-config/index.html b/docs/apisix/2.5/architecture-design/plugin-config/index.html
index 63544c0..f130bc9 100644
--- a/docs/apisix/2.5/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin-config/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color: [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="col [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/plugin/index.html b/docs/apisix/2.5/architecture-design/plugin/index.html
index e19f1d0..7a5d744 100644
--- a/docs/apisix/2.5/architecture-design/plugin/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/route/index.html b/docs/apisix/2.5/architecture-design/route/index.html
index 5627324..571360a 100644
--- a/docs/apisix/2.5/architecture-design/route/index.html
+++ b/docs/apisix/2.5/architecture-design/route/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/router/index.html b/docs/apisix/2.5/architecture-design/router/index.html
index 89acca6..979c065 100644
--- a/docs/apisix/2.5/architecture-design/router/index.html
+++ b/docs/apisix/2.5/architecture-design/router/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/script/index.html b/docs/apisix/2.5/architecture-design/script/index.html
index 2719059..5f796c2 100644
--- a/docs/apisix/2.5/architecture-design/script/index.html
+++ b/docs/apisix/2.5/architecture-design/script/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/service/index.html b/docs/apisix/2.5/architecture-design/service/index.html
index 0d6e684..32d1d9a 100644
--- a/docs/apisix/2.5/architecture-design/service/index.html
+++ b/docs/apisix/2.5/architecture-design/service/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># create new Route and reference the service by id `200`</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/100 -H </span><s [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/101 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/architecture-design/upstream/index.html b/docs/apisix/2.5/architecture-design/upstream/index.html
index f12e6f4..f573294 100644
--- a/docs/apisix/2.5/architecture-design/upstream/index.html
+++ b/docs/apisix/2.5/architecture-design/upstream/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
 <div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#e8433e;color:white" role="banner"><div class="announcementBarPlaceholder_2m9F"></div><div class="announcementBarContent_3EUC">🤔 Have queries regarding apache APISIX, Join slack channel to discuss them <a target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/the-asf/shared_invite/zt-vlfbf7ch-HkbNHiU_uDlcH_RvaHv9gQ">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/aws/index.html b/docs/apisix/2.5/aws/index.html
index 9d94920..cf12523 100644
--- a/docs/apisix/2.5/aws/index.html
+++ b/docs/apisix/2.5/aws/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
-<link rel="preload" href="/assets/js/runtime~main.59c34847.js" as="script">
-<link rel="preload" href="/assets/js/main.d3ffa863.js" as="script">
+<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
+<link rel="preload" href="/assets/js/runtime~main.32ac036e.js" as="script">
+<link rel="preload" href="/assets/js/main.2f93104d.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
 <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 anchor__h2 anchorWithHideOnScrollNavbar_3R7-" 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/apis [...]
-<script src="/assets/js/runtime~main.59c34847.js"></script>
-<script src="/assets/js/main.d3ffa863.js"></script>
+<script src="/assets/js/runtime~main.32ac036e.js"></script>
+<script src="/assets/js/main.2f93104d.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/batch-processor/index.html b/docs/apisix/2.5/batch-processor/index.html
index 45fd8bd..9b9d268 100644
--- a/docs/apisix/2.5/batch-processor/index.html
+++ b/docs/apisix/2.5/batch-processor/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link 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® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
... 55642 lines suppressed ...