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/03 08:27:12 UTC

[apisix-website] branch asf-site updated: deploy: 653da4a3681c1422f6e9ec3938d420b772db75ba

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 a87b95b  deploy: 653da4a3681c1422f6e9ec3938d420b772db75ba
a87b95b is described below

commit a87b95b5dfceff6c2d061b5a9d318214629881b7
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Sun Oct 3 08:27:01 2021 +0000

    deploy: 653da4a3681c1422f6e9ec3938d420b772db75ba
---
 404.html                                                     |  4 ++--
 .../index.html                                               |  4 ++--
 .../index.html                                               |  8 ++++----
 articles/Apache-APISIX-Incubator-Journey/index.html          |  4 ++--
 articles/Apache-APISIX-Kubernetes-Ingress/index.html         |  4 ++--
 articles/Apache-APISIX-in-China-Mobile-Cloud/index.html      |  8 ++++----
 .../index.html                                               |  4 ++--
 .../index.html                                               |  4 ++--
 articles/Rendering-Community-Events-Using-ECharts/index.html |  4 ++--
 articles/Speed-Limiting-With-Apache-APISIX/index.html        |  4 ++--
 .../Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html |  4 ++--
 articles/The-Appeal-of-OpenSource/index.html                 |  4 ++--
 articles/The-Evolution-of-Apache-APISIX/index.html           |  4 ++--
 .../index.html                                               |  4 ++--
 articles/archive/index.html                                  |  4 ++--
 articles/atom.xml                                            |  6 +++---
 articles/index.html                                          |  6 +++---
 articles/page/2/index.html                                   |  4 ++--
 articles/rss.xml                                             |  6 +++---
 assets/js/{09b17eb5.18a0b778.js => 09b17eb5.31a0df21.js}     |  2 +-
 assets/js/19945770.20a1e9fc.js                               |  1 -
 assets/js/19945770.908dcfe4.js                               |  1 +
 assets/js/{3393d167.35f85be3.js => 3393d167.4e39f0e3.js}     |  2 +-
 assets/js/{358566b4.3cfdbd56.js => 358566b4.52622cf2.js}     |  2 +-
 assets/js/3dc9f306.23352beb.js                               |  1 +
 assets/js/3dc9f306.ca888517.js                               |  1 -
 .../358566b4.44a3d88e.js => assets/js/40fb2fae.2475c7c8.js   |  2 +-
 assets/js/4c20006b.70ab0929.js                               |  1 -
 .../40fb2fae.375b9e5d.js => assets/js/4c20006b.cc23fbcb.js   |  2 +-
 assets/js/{507e1a4c.71bc2ecb.js => 507e1a4c.ad17c5ce.js}     |  2 +-
 assets/js/{50facf8e.6c997f91.js => 50facf8e.4caa2640.js}     |  2 +-
 assets/js/{542fd41f.05cf37df.js => 542fd41f.700efb76.js}     |  2 +-
 assets/js/{601c6eaa.3f5ceaea.js => 601c6eaa.8e633875.js}     |  2 +-
 assets/js/{66fbb9c2.610e70d6.js => 66fbb9c2.a81141da.js}     |  2 +-
 assets/js/7af3052c.5ac6ab6c.js                               |  1 -
 assets/js/7af3052c.61a9214b.js                               |  1 +
 assets/js/{80791de8.a6293cde.js => 80791de8.38966ab9.js}     |  2 +-
 assets/js/8e784bf3.4f29c152.js                               |  1 +
 assets/js/8e784bf3.c8b927bb.js                               |  1 -
 assets/js/{8f700fa6.b2f8b5c3.js => 8f700fa6.08a7ed43.js}     |  2 +-
 assets/js/{90fc8a94.4d24cd10.js => 90fc8a94.3e83c818.js}     |  2 +-
 assets/js/{941960b1.b79a5193.js => 941960b1.1435e818.js}     |  2 +-
 assets/js/adbb350b.6664693d.js                               |  1 +
 assets/js/adbb350b.88a7ba7e.js                               |  1 -
 assets/js/{d18db9b0.7d0c5238.js => d18db9b0.4ec7eff7.js}     |  2 +-
 .../{runtime~main.2e33f22a.js => runtime~main.c0aa10e9.js}   |  2 +-
 .../12/16/another-way-to-implement-envoy-filter/index.html   |  4 ++--
 blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html  |  4 ++--
 .../02/08/stable-product-delivery-with-cypress/index.html    |  4 ++--
 .../02/26/install-apache-apisix-from-helm-charts/index.html  |  4 ++--
 .../02/get-front-end-test-coverage-with-cypress/index.html   |  4 ++--
 .../index.html                                               |  4 ++--
 blog/2021/06/29/release-apache-apisix-2.7-en/index.html      |  4 ++--
 blog/2021/07/06/celebrate-200-contributors/index.html        |  4 ++--
 blog/2021/07/28/release-apache-apisix-2.8-en/index.html      |  4 ++--
 .../index.html                                               |  4 ++--
 .../index.html                                               |  4 ++--
 .../index.html                                               |  4 ++--
 blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html |  4 ++--
 blog/2021/08/27/release-apache-apisix-2.9-en/index.html      |  4 ++--
 blog/2021/09/29/release-apache-apisix-2.10-en/index.html     |  4 ++--
 blog/2021/09/29/release-apache-apisix-2.10/index.html        |  4 ++--
 blog/2021/09/30/weekly-report/index.html                     |  4 ++--
 blog/2021/10/01/openEuler/index.html                         |  4 ++--
 blog/archive/index.html                                      |  4 ++--
 blog/index.html                                              |  4 ++--
 blog/page/2/index.html                                       |  4 ++--
 blog/tags/community/index.html                               |  4 ++--
 blog/tags/events/index.html                                  |  4 ++--
 blog/tags/index.html                                         |  4 ++--
 blog/tags/practical-case/index.html                          |  4 ++--
 blog/tags/release/index.html                                 |  4 ++--
 blog/tags/security/index.html                                |  4 ++--
 blog/tags/technology/index.html                              |  4 ++--
 docs/apisix/2.10.0/FAQ/index.html                            |  4 ++--
 docs/apisix/2.10.0/IGNORE_DOC/index.html                     |  4 ++--
 docs/apisix/2.10.0/admin-api/index.html                      |  4 ++--
 docs/apisix/2.10.0/architecture-design/apisix/index.html     |  4 ++--
 docs/apisix/2.10.0/architecture-design/consumer/index.html   |  4 ++--
 docs/apisix/2.10.0/architecture-design/debug-mode/index.html |  4 ++--
 .../apisix/2.10.0/architecture-design/global-rule/index.html |  4 ++--
 .../2.10.0/architecture-design/plugin-config/index.html      |  4 ++--
 docs/apisix/2.10.0/architecture-design/plugin/index.html     |  4 ++--
 docs/apisix/2.10.0/architecture-design/route/index.html      |  4 ++--
 docs/apisix/2.10.0/architecture-design/router/index.html     |  4 ++--
 docs/apisix/2.10.0/architecture-design/script/index.html     |  4 ++--
 docs/apisix/2.10.0/architecture-design/service/index.html    |  4 ++--
 docs/apisix/2.10.0/architecture-design/upstream/index.html   |  4 ++--
 docs/apisix/2.10.0/aws/index.html                            |  4 ++--
 docs/apisix/2.10.0/batch-processor/index.html                |  4 ++--
 docs/apisix/2.10.0/benchmark/index.html                      |  4 ++--
 docs/apisix/2.10.0/certificate/index.html                    |  4 ++--
 docs/apisix/2.10.0/control-api/index.html                    |  4 ++--
 docs/apisix/2.10.0/customize-nginx-configuration/index.html  |  4 ++--
 docs/apisix/2.10.0/debug-function/index.html                 |  4 ++--
 docs/apisix/2.10.0/discovery/consul_kv/index.html            |  4 ++--
 docs/apisix/2.10.0/discovery/dns/index.html                  |  4 ++--
 docs/apisix/2.10.0/discovery/eureka/index.html               |  4 ++--
 docs/apisix/2.10.0/discovery/index.html                      |  4 ++--
 docs/apisix/2.10.0/discovery/nacos/index.html                |  4 ++--
 .../examples/plugins-hmac-auth-generate-signature/index.html |  4 ++--
 docs/apisix/2.10.0/external-plugin/index.html                |  4 ++--
 docs/apisix/2.10.0/getting-started/index.html                |  4 ++--
 docs/apisix/2.10.0/grpc-proxy/index.html                     |  4 ++--
 docs/apisix/2.10.0/health-check/index.html                   |  4 ++--
 docs/apisix/2.10.0/how-to-build/index.html                   |  4 ++--
 docs/apisix/2.10.0/install-dependencies/index.html           |  4 ++--
 docs/apisix/2.10.0/internal/testing-framework/index.html     |  4 ++--
 docs/apisix/2.10.0/mtls/index.html                           |  4 ++--
 docs/apisix/2.10.0/plugin-develop/index.html                 |  4 ++--
 docs/apisix/2.10.0/plugin-interceptors/index.html            |  4 ++--
 docs/apisix/2.10.0/plugins/api-breaker/index.html            |  4 ++--
 docs/apisix/2.10.0/plugins/authz-casbin/index.html           |  4 ++--
 docs/apisix/2.10.0/plugins/authz-keycloak/index.html         |  4 ++--
 docs/apisix/2.10.0/plugins/basic-auth/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/batch-requests/index.html         |  4 ++--
 docs/apisix/2.10.0/plugins/client-control/index.html         |  4 ++--
 docs/apisix/2.10.0/plugins/consumer-restriction/index.html   |  4 ++--
 docs/apisix/2.10.0/plugins/cors/index.html                   |  4 ++--
 docs/apisix/2.10.0/plugins/dubbo-proxy/index.html            |  4 ++--
 docs/apisix/2.10.0/plugins/echo/index.html                   |  4 ++--
 docs/apisix/2.10.0/plugins/error-log-logger/index.html       |  4 ++--
 docs/apisix/2.10.0/plugins/ext-plugin-post-req/index.html    |  4 ++--
 docs/apisix/2.10.0/plugins/ext-plugin-pre-req/index.html     |  4 ++--
 docs/apisix/2.10.0/plugins/fault-injection/index.html        |  4 ++--
 docs/apisix/2.10.0/plugins/grpc-transcode/index.html         |  4 ++--
 docs/apisix/2.10.0/plugins/gzip/index.html                   |  4 ++--
 docs/apisix/2.10.0/plugins/hmac-auth/index.html              |  4 ++--
 docs/apisix/2.10.0/plugins/http-logger/index.html            |  4 ++--
 docs/apisix/2.10.0/plugins/ip-restriction/index.html         |  4 ++--
 docs/apisix/2.10.0/plugins/jwt-auth/index.html               |  4 ++--
 docs/apisix/2.10.0/plugins/kafka-logger/index.html           |  4 ++--
 docs/apisix/2.10.0/plugins/key-auth/index.html               |  4 ++--
 docs/apisix/2.10.0/plugins/limit-conn/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/limit-count/index.html            |  4 ++--
 docs/apisix/2.10.0/plugins/limit-req/index.html              |  4 ++--
 docs/apisix/2.10.0/plugins/log-rotate/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/mqtt-proxy/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/node-status/index.html            |  4 ++--
 docs/apisix/2.10.0/plugins/openid-connect/index.html         |  4 ++--
 docs/apisix/2.10.0/plugins/prometheus/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/proxy-cache/index.html            |  4 ++--
 docs/apisix/2.10.0/plugins/proxy-mirror/index.html           |  4 ++--
 docs/apisix/2.10.0/plugins/proxy-rewrite/index.html          |  4 ++--
 docs/apisix/2.10.0/plugins/real-ip/index.html                |  4 ++--
 docs/apisix/2.10.0/plugins/redirect/index.html               |  4 ++--
 docs/apisix/2.10.0/plugins/referer-restriction/index.html    |  4 ++--
 docs/apisix/2.10.0/plugins/request-id/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/request-validation/index.html     |  4 ++--
 docs/apisix/2.10.0/plugins/response-rewrite/index.html       |  4 ++--
 docs/apisix/2.10.0/plugins/server-info/index.html            |  4 ++--
 docs/apisix/2.10.0/plugins/serverless/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/skywalking/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/sls-logger/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/syslog/index.html                 |  4 ++--
 docs/apisix/2.10.0/plugins/tcp-logger/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/traffic-split/index.html          |  4 ++--
 docs/apisix/2.10.0/plugins/ua-restriction/index.html         |  4 ++--
 docs/apisix/2.10.0/plugins/udp-logger/index.html             |  4 ++--
 docs/apisix/2.10.0/plugins/uri-blocker/index.html            |  4 ++--
 docs/apisix/2.10.0/plugins/wolf-rbac/index.html              |  4 ++--
 docs/apisix/2.10.0/plugins/zipkin/index.html                 |  4 ++--
 docs/apisix/2.10.0/profile/index.html                        |  4 ++--
 docs/apisix/2.10.0/router-radixtree/index.html               |  4 ++--
 docs/apisix/2.10.0/stand-alone/index.html                    |  4 ++--
 docs/apisix/2.10.0/stream-proxy/index.html                   |  4 ++--
 docs/apisix/2.10.0/tags/index.html                           |  4 ++--
 docs/apisix/2.4/FAQ/index.html                               |  4 ++--
 docs/apisix/2.4/IGNORE_DOC/index.html                        |  4 ++--
 docs/apisix/2.4/admin-api/index.html                         |  4 ++--
 docs/apisix/2.4/architecture-design/apisix/index.html        |  4 ++--
 docs/apisix/2.4/architecture-design/consumer/index.html      |  4 ++--
 docs/apisix/2.4/architecture-design/debug-mode/index.html    |  4 ++--
 docs/apisix/2.4/architecture-design/global-rule/index.html   |  4 ++--
 docs/apisix/2.4/architecture-design/index.html               |  4 ++--
 docs/apisix/2.4/architecture-design/plugin-config/index.html |  4 ++--
 docs/apisix/2.4/architecture-design/plugin/index.html        |  4 ++--
 docs/apisix/2.4/architecture-design/route/index.html         |  4 ++--
 docs/apisix/2.4/architecture-design/router/index.html        |  4 ++--
 docs/apisix/2.4/architecture-design/script/index.html        |  4 ++--
 docs/apisix/2.4/architecture-design/service/index.html       |  4 ++--
 docs/apisix/2.4/architecture-design/upstream/index.html      |  4 ++--
 docs/apisix/2.4/aws/index.html                               |  4 ++--
 docs/apisix/2.4/batch-processor/index.html                   |  4 ++--
 docs/apisix/2.4/benchmark/index.html                         |  4 ++--
 docs/apisix/2.4/certificate/index.html                       |  4 ++--
 docs/apisix/2.4/control-api/index.html                       |  4 ++--
 docs/apisix/2.4/customize-nginx-configuration/index.html     |  4 ++--
 docs/apisix/2.4/debug-function/index.html                    |  4 ++--
 docs/apisix/2.4/discovery/consul_kv/index.html               |  4 ++--
 docs/apisix/2.4/discovery/dns/index.html                     |  4 ++--
 docs/apisix/2.4/discovery/eureka/index.html                  |  4 ++--
 docs/apisix/2.4/discovery/index.html                         |  4 ++--
 docs/apisix/2.4/discovery/nacos/index.html                   |  4 ++--
 docs/apisix/2.4/dns/index.html                               |  4 ++--
 .../examples/plugins-hmac-auth-generate-signature/index.html |  4 ++--
 docs/apisix/2.4/external-plugin/index.html                   |  4 ++--
 docs/apisix/2.4/getting-started/index.html                   |  4 ++--
 docs/apisix/2.4/grpc-proxy/index.html                        |  4 ++--
 docs/apisix/2.4/health-check/index.html                      |  4 ++--
 docs/apisix/2.4/how-to-build/index.html                      |  4 ++--
 docs/apisix/2.4/https/index.html                             |  4 ++--
 docs/apisix/2.4/install-dependencies/index.html              |  4 ++--
 docs/apisix/2.4/internal/testing-framework/index.html        |  4 ++--
 docs/apisix/2.4/mtls/index.html                              |  4 ++--
 docs/apisix/2.4/plugin-develop/index.html                    |  4 ++--
 docs/apisix/2.4/plugin-interceptors/index.html               |  4 ++--
 docs/apisix/2.4/plugins/api-breaker/index.html               |  4 ++--
 docs/apisix/2.4/plugins/authz-casbin/index.html              |  4 ++--
 docs/apisix/2.4/plugins/authz-keycloak/index.html            |  4 ++--
 docs/apisix/2.4/plugins/basic-auth/index.html                |  4 ++--
 docs/apisix/2.4/plugins/batch-requests/index.html            |  4 ++--
 docs/apisix/2.4/plugins/client-control/index.html            |  4 ++--
 docs/apisix/2.4/plugins/consumer-restriction/index.html      |  4 ++--
 docs/apisix/2.4/plugins/cors/index.html                      |  4 ++--
 docs/apisix/2.4/plugins/dubbo-proxy/index.html               |  4 ++--
 docs/apisix/2.4/plugins/echo/index.html                      |  4 ++--
 docs/apisix/2.4/plugins/error-log-logger/index.html          |  4 ++--
 docs/apisix/2.4/plugins/ext-plugin-post-req/index.html       |  4 ++--
 docs/apisix/2.4/plugins/ext-plugin-pre-req/index.html        |  4 ++--
 docs/apisix/2.4/plugins/fault-injection/index.html           |  4 ++--
 docs/apisix/2.4/plugins/grpc-transcode/index.html            |  4 ++--
 docs/apisix/2.4/plugins/gzip/index.html                      |  4 ++--
 docs/apisix/2.4/plugins/hmac-auth/index.html                 |  4 ++--
 docs/apisix/2.4/plugins/http-logger/index.html               |  4 ++--
 docs/apisix/2.4/plugins/index.html                           |  4 ++--
 docs/apisix/2.4/plugins/ip-restriction/index.html            |  4 ++--
 docs/apisix/2.4/plugins/jwt-auth/index.html                  |  4 ++--
 docs/apisix/2.4/plugins/kafka-logger/index.html              |  4 ++--
 docs/apisix/2.4/plugins/key-auth/index.html                  |  4 ++--
 docs/apisix/2.4/plugins/limit-conn/index.html                |  4 ++--
 docs/apisix/2.4/plugins/limit-count/index.html               |  4 ++--
 docs/apisix/2.4/plugins/limit-req/index.html                 |  4 ++--
 docs/apisix/2.4/plugins/log-rotate/index.html                |  4 ++--
 docs/apisix/2.4/plugins/mqtt-proxy/index.html                |  4 ++--
 docs/apisix/2.4/plugins/node-status/index.html               |  4 ++--
 docs/apisix/2.4/plugins/openid-connect/index.html            |  4 ++--
 docs/apisix/2.4/plugins/prometheus/index.html                |  4 ++--
 docs/apisix/2.4/plugins/proxy-cache/index.html               |  4 ++--
 docs/apisix/2.4/plugins/proxy-mirror/index.html              |  4 ++--
 docs/apisix/2.4/plugins/proxy-rewrite/index.html             |  4 ++--
 docs/apisix/2.4/plugins/real-ip/index.html                   |  4 ++--
 docs/apisix/2.4/plugins/redirect/index.html                  |  4 ++--
 docs/apisix/2.4/plugins/referer-restriction/index.html       |  4 ++--
 docs/apisix/2.4/plugins/request-id/index.html                |  4 ++--
 docs/apisix/2.4/plugins/request-validation/index.html        |  4 ++--
 docs/apisix/2.4/plugins/response-rewrite/index.html          |  4 ++--
 docs/apisix/2.4/plugins/server-info/index.html               |  4 ++--
 docs/apisix/2.4/plugins/serverless/index.html                |  4 ++--
 docs/apisix/2.4/plugins/skywalking/index.html                |  4 ++--
 docs/apisix/2.4/plugins/sls-logger/index.html                |  4 ++--
 docs/apisix/2.4/plugins/syslog/index.html                    |  4 ++--
 docs/apisix/2.4/plugins/tcp-logger/index.html                |  4 ++--
 docs/apisix/2.4/plugins/traffic-split/index.html             |  4 ++--
 docs/apisix/2.4/plugins/ua-restriction/index.html            |  4 ++--
 docs/apisix/2.4/plugins/udp-logger/index.html                |  4 ++--
 docs/apisix/2.4/plugins/uri-blocker/index.html               |  4 ++--
 docs/apisix/2.4/plugins/wolf-rbac/index.html                 |  4 ++--
 docs/apisix/2.4/plugins/zipkin/index.html                    |  4 ++--
 docs/apisix/2.4/powered-by/index.html                        |  4 ++--
 docs/apisix/2.4/profile/index.html                           |  4 ++--
 docs/apisix/2.4/router-radixtree/index.html                  |  4 ++--
 docs/apisix/2.4/stand-alone/index.html                       |  4 ++--
 docs/apisix/2.4/stream-proxy/index.html                      |  4 ++--
 docs/apisix/2.4/tags/index.html                              |  4 ++--
 docs/apisix/2.5/FAQ/index.html                               |  4 ++--
 docs/apisix/2.5/IGNORE_DOC/index.html                        |  4 ++--
 docs/apisix/2.5/admin-api/index.html                         |  4 ++--
 docs/apisix/2.5/architecture-design/apisix/index.html        |  4 ++--
 docs/apisix/2.5/architecture-design/consumer/index.html      |  4 ++--
 docs/apisix/2.5/architecture-design/debug-mode/index.html    |  4 ++--
 docs/apisix/2.5/architecture-design/global-rule/index.html   |  4 ++--
 docs/apisix/2.5/architecture-design/index.html               |  4 ++--
 docs/apisix/2.5/architecture-design/plugin-config/index.html |  4 ++--
 docs/apisix/2.5/architecture-design/plugin/index.html        |  4 ++--
 docs/apisix/2.5/architecture-design/route/index.html         |  4 ++--
 docs/apisix/2.5/architecture-design/router/index.html        |  4 ++--
 docs/apisix/2.5/architecture-design/script/index.html        |  4 ++--
 docs/apisix/2.5/architecture-design/service/index.html       |  4 ++--
 docs/apisix/2.5/architecture-design/upstream/index.html      |  4 ++--
 docs/apisix/2.5/aws/index.html                               |  4 ++--
 docs/apisix/2.5/batch-processor/index.html                   |  4 ++--
 docs/apisix/2.5/benchmark/index.html                         |  4 ++--
 docs/apisix/2.5/certificate/index.html                       |  4 ++--
 docs/apisix/2.5/control-api/index.html                       |  4 ++--
 docs/apisix/2.5/customize-nginx-configuration/index.html     |  4 ++--
 docs/apisix/2.5/debug-function/index.html                    |  4 ++--
 docs/apisix/2.5/discovery/consul_kv/index.html               |  4 ++--
 docs/apisix/2.5/discovery/dns/index.html                     |  4 ++--
 docs/apisix/2.5/discovery/eureka/index.html                  |  4 ++--
 docs/apisix/2.5/discovery/index.html                         |  4 ++--
 docs/apisix/2.5/discovery/nacos/index.html                   |  4 ++--
 docs/apisix/2.5/dns/index.html                               |  4 ++--
 .../examples/plugins-hmac-auth-generate-signature/index.html |  4 ++--
 docs/apisix/2.5/external-plugin/index.html                   |  4 ++--
 docs/apisix/2.5/getting-started/index.html                   |  4 ++--
 docs/apisix/2.5/grpc-proxy/index.html                        |  4 ++--
 docs/apisix/2.5/health-check/index.html                      |  4 ++--
 docs/apisix/2.5/how-to-build/index.html                      |  4 ++--
 docs/apisix/2.5/https/index.html                             |  4 ++--
 docs/apisix/2.5/install-dependencies/index.html              |  4 ++--
 docs/apisix/2.5/internal/testing-framework/index.html        |  4 ++--
 docs/apisix/2.5/mtls/index.html                              |  4 ++--
 docs/apisix/2.5/plugin-develop/index.html                    |  4 ++--
 docs/apisix/2.5/plugin-interceptors/index.html               |  4 ++--
 docs/apisix/2.5/plugins/api-breaker/index.html               |  4 ++--
 docs/apisix/2.5/plugins/authz-casbin/index.html              |  4 ++--
 docs/apisix/2.5/plugins/authz-keycloak/index.html            |  4 ++--
 docs/apisix/2.5/plugins/basic-auth/index.html                |  4 ++--
 docs/apisix/2.5/plugins/batch-requests/index.html            |  4 ++--
 docs/apisix/2.5/plugins/client-control/index.html            |  4 ++--
 docs/apisix/2.5/plugins/consumer-restriction/index.html      |  4 ++--
 docs/apisix/2.5/plugins/cors/index.html                      |  4 ++--
 docs/apisix/2.5/plugins/dubbo-proxy/index.html               |  4 ++--
 docs/apisix/2.5/plugins/echo/index.html                      |  4 ++--
 docs/apisix/2.5/plugins/error-log-logger/index.html          |  4 ++--
 docs/apisix/2.5/plugins/ext-plugin-post-req/index.html       |  4 ++--
 docs/apisix/2.5/plugins/ext-plugin-pre-req/index.html        |  4 ++--
 docs/apisix/2.5/plugins/fault-injection/index.html           |  4 ++--
 docs/apisix/2.5/plugins/grpc-transcode/index.html            |  4 ++--
 docs/apisix/2.5/plugins/gzip/index.html                      |  4 ++--
 docs/apisix/2.5/plugins/hmac-auth/index.html                 |  4 ++--
 docs/apisix/2.5/plugins/http-logger/index.html               |  4 ++--
 docs/apisix/2.5/plugins/index.html                           |  4 ++--
 docs/apisix/2.5/plugins/ip-restriction/index.html            |  4 ++--
 docs/apisix/2.5/plugins/jwt-auth/index.html                  |  4 ++--
 docs/apisix/2.5/plugins/kafka-logger/index.html              |  4 ++--
 docs/apisix/2.5/plugins/key-auth/index.html                  |  4 ++--
 docs/apisix/2.5/plugins/limit-conn/index.html                |  4 ++--
 docs/apisix/2.5/plugins/limit-count/index.html               |  4 ++--
 docs/apisix/2.5/plugins/limit-req/index.html                 |  4 ++--
 docs/apisix/2.5/plugins/log-rotate/index.html                |  4 ++--
 docs/apisix/2.5/plugins/mqtt-proxy/index.html                |  4 ++--
 docs/apisix/2.5/plugins/node-status/index.html               |  4 ++--
 docs/apisix/2.5/plugins/openid-connect/index.html            |  4 ++--
 docs/apisix/2.5/plugins/prometheus/index.html                |  4 ++--
 docs/apisix/2.5/plugins/proxy-cache/index.html               |  4 ++--
 docs/apisix/2.5/plugins/proxy-mirror/index.html              |  4 ++--
 docs/apisix/2.5/plugins/proxy-rewrite/index.html             |  4 ++--
 docs/apisix/2.5/plugins/real-ip/index.html                   |  4 ++--
 docs/apisix/2.5/plugins/redirect/index.html                  |  4 ++--
 docs/apisix/2.5/plugins/referer-restriction/index.html       |  4 ++--
 docs/apisix/2.5/plugins/request-id/index.html                |  4 ++--
 docs/apisix/2.5/plugins/request-validation/index.html        |  4 ++--
 docs/apisix/2.5/plugins/response-rewrite/index.html          |  4 ++--
 docs/apisix/2.5/plugins/server-info/index.html               |  4 ++--
 docs/apisix/2.5/plugins/serverless/index.html                |  4 ++--
 docs/apisix/2.5/plugins/skywalking/index.html                |  4 ++--
 docs/apisix/2.5/plugins/sls-logger/index.html                |  4 ++--
 docs/apisix/2.5/plugins/syslog/index.html                    |  4 ++--
 docs/apisix/2.5/plugins/tcp-logger/index.html                |  4 ++--
 docs/apisix/2.5/plugins/traffic-split/index.html             |  4 ++--
 docs/apisix/2.5/plugins/ua-restriction/index.html            |  4 ++--
 docs/apisix/2.5/plugins/udp-logger/index.html                |  4 ++--
 docs/apisix/2.5/plugins/uri-blocker/index.html               |  4 ++--
 docs/apisix/2.5/plugins/wolf-rbac/index.html                 |  4 ++--
 docs/apisix/2.5/plugins/zipkin/index.html                    |  4 ++--
 docs/apisix/2.5/powered-by/index.html                        |  4 ++--
 docs/apisix/2.5/profile/index.html                           |  4 ++--
 docs/apisix/2.5/router-radixtree/index.html                  |  4 ++--
 docs/apisix/2.5/stand-alone/index.html                       |  4 ++--
 docs/apisix/2.5/stream-proxy/index.html                      |  4 ++--
 docs/apisix/2.5/tags/index.html                              |  4 ++--
 docs/apisix/2.6/FAQ/index.html                               |  4 ++--
 docs/apisix/2.6/IGNORE_DOC/index.html                        |  4 ++--
 docs/apisix/2.6/admin-api/index.html                         |  4 ++--
 docs/apisix/2.6/architecture-design/apisix/index.html        |  4 ++--
 docs/apisix/2.6/architecture-design/consumer/index.html      |  4 ++--
 docs/apisix/2.6/architecture-design/debug-mode/index.html    |  4 ++--
 docs/apisix/2.6/architecture-design/global-rule/index.html   |  4 ++--
 docs/apisix/2.6/architecture-design/index.html               |  4 ++--
 docs/apisix/2.6/architecture-design/plugin-config/index.html |  4 ++--
 docs/apisix/2.6/architecture-design/plugin/index.html        |  4 ++--
 docs/apisix/2.6/architecture-design/route/index.html         |  4 ++--
 docs/apisix/2.6/architecture-design/router/index.html        |  4 ++--
 docs/apisix/2.6/architecture-design/script/index.html        |  4 ++--
 docs/apisix/2.6/architecture-design/service/index.html       |  4 ++--
 docs/apisix/2.6/architecture-design/upstream/index.html      |  4 ++--
 docs/apisix/2.6/aws/index.html                               |  4 ++--
 docs/apisix/2.6/batch-processor/index.html                   |  4 ++--
 docs/apisix/2.6/benchmark/index.html                         |  4 ++--
 docs/apisix/2.6/certificate/index.html                       |  4 ++--
 docs/apisix/2.6/control-api/index.html                       |  4 ++--
 docs/apisix/2.6/customize-nginx-configuration/index.html     |  4 ++--
 docs/apisix/2.6/debug-function/index.html                    |  4 ++--
 docs/apisix/2.6/discovery/consul_kv/index.html               |  4 ++--
 docs/apisix/2.6/discovery/dns/index.html                     |  4 ++--
 docs/apisix/2.6/discovery/eureka/index.html                  |  4 ++--
 docs/apisix/2.6/discovery/index.html                         |  4 ++--
 docs/apisix/2.6/discovery/nacos/index.html                   |  4 ++--
 docs/apisix/2.6/dns/index.html                               |  4 ++--
 .../examples/plugins-hmac-auth-generate-signature/index.html |  4 ++--
 docs/apisix/2.6/external-plugin/index.html                   |  4 ++--
 docs/apisix/2.6/getting-started/index.html                   |  4 ++--
 docs/apisix/2.6/grpc-proxy/index.html                        |  4 ++--
 docs/apisix/2.6/health-check/index.html                      |  4 ++--
 docs/apisix/2.6/how-to-build/index.html                      |  4 ++--
 docs/apisix/2.6/https/index.html                             |  4 ++--
 docs/apisix/2.6/install-dependencies/index.html              |  4 ++--
 docs/apisix/2.6/internal/testing-framework/index.html        |  4 ++--
 docs/apisix/2.6/mtls/index.html                              |  4 ++--
 docs/apisix/2.6/plugin-develop/index.html                    |  4 ++--
 docs/apisix/2.6/plugin-interceptors/index.html               |  4 ++--
 docs/apisix/2.6/plugins/api-breaker/index.html               |  4 ++--
 docs/apisix/2.6/plugins/authz-casbin/index.html              |  4 ++--
 docs/apisix/2.6/plugins/authz-keycloak/index.html            |  4 ++--
 docs/apisix/2.6/plugins/basic-auth/index.html                |  4 ++--
 docs/apisix/2.6/plugins/batch-requests/index.html            |  4 ++--
 docs/apisix/2.6/plugins/client-control/index.html            |  4 ++--
 docs/apisix/2.6/plugins/consumer-restriction/index.html      |  4 ++--
 docs/apisix/2.6/plugins/cors/index.html                      |  4 ++--
 docs/apisix/2.6/plugins/dubbo-proxy/index.html               |  4 ++--
 docs/apisix/2.6/plugins/echo/index.html                      |  4 ++--
 docs/apisix/2.6/plugins/error-log-logger/index.html          |  4 ++--
 docs/apisix/2.6/plugins/ext-plugin-post-req/index.html       |  4 ++--
 docs/apisix/2.6/plugins/ext-plugin-pre-req/index.html        |  4 ++--
 docs/apisix/2.6/plugins/fault-injection/index.html           |  4 ++--
 docs/apisix/2.6/plugins/grpc-transcode/index.html            |  4 ++--
 docs/apisix/2.6/plugins/gzip/index.html                      |  4 ++--
 docs/apisix/2.6/plugins/hmac-auth/index.html                 |  4 ++--
 docs/apisix/2.6/plugins/http-logger/index.html               |  4 ++--
 docs/apisix/2.6/plugins/index.html                           |  4 ++--
 docs/apisix/2.6/plugins/ip-restriction/index.html            |  4 ++--
 docs/apisix/2.6/plugins/jwt-auth/index.html                  |  4 ++--
 docs/apisix/2.6/plugins/kafka-logger/index.html              |  4 ++--
 docs/apisix/2.6/plugins/key-auth/index.html                  |  4 ++--
 docs/apisix/2.6/plugins/limit-conn/index.html                |  4 ++--
 docs/apisix/2.6/plugins/limit-count/index.html               |  4 ++--
 docs/apisix/2.6/plugins/limit-req/index.html                 |  4 ++--
 docs/apisix/2.6/plugins/log-rotate/index.html                |  4 ++--
 docs/apisix/2.6/plugins/mqtt-proxy/index.html                |  4 ++--
 docs/apisix/2.6/plugins/node-status/index.html               |  4 ++--
 docs/apisix/2.6/plugins/openid-connect/index.html            |  4 ++--
 docs/apisix/2.6/plugins/prometheus/index.html                |  4 ++--
 docs/apisix/2.6/plugins/proxy-cache/index.html               |  4 ++--
 docs/apisix/2.6/plugins/proxy-mirror/index.html              |  4 ++--
 docs/apisix/2.6/plugins/proxy-rewrite/index.html             |  4 ++--
 docs/apisix/2.6/plugins/real-ip/index.html                   |  4 ++--
 docs/apisix/2.6/plugins/redirect/index.html                  |  4 ++--
 docs/apisix/2.6/plugins/referer-restriction/index.html       |  4 ++--
 docs/apisix/2.6/plugins/request-id/index.html                |  4 ++--
 docs/apisix/2.6/plugins/request-validation/index.html        |  4 ++--
 docs/apisix/2.6/plugins/response-rewrite/index.html          |  4 ++--
 docs/apisix/2.6/plugins/server-info/index.html               |  4 ++--
 docs/apisix/2.6/plugins/serverless/index.html                |  4 ++--
 docs/apisix/2.6/plugins/skywalking/index.html                |  4 ++--
 docs/apisix/2.6/plugins/sls-logger/index.html                |  4 ++--
 docs/apisix/2.6/plugins/syslog/index.html                    |  4 ++--
 docs/apisix/2.6/plugins/tcp-logger/index.html                |  4 ++--
 docs/apisix/2.6/plugins/traffic-split/index.html             |  4 ++--
 docs/apisix/2.6/plugins/ua-restriction/index.html            |  4 ++--
 docs/apisix/2.6/plugins/udp-logger/index.html                |  4 ++--
 docs/apisix/2.6/plugins/uri-blocker/index.html               |  4 ++--
 docs/apisix/2.6/plugins/wolf-rbac/index.html                 |  4 ++--
 docs/apisix/2.6/plugins/zipkin/index.html                    |  4 ++--
 docs/apisix/2.6/powered-by/index.html                        |  4 ++--
 docs/apisix/2.6/profile/index.html                           |  4 ++--
 docs/apisix/2.6/router-radixtree/index.html                  |  4 ++--
 docs/apisix/2.6/stand-alone/index.html                       |  4 ++--
 docs/apisix/2.6/stream-proxy/index.html                      |  4 ++--
 docs/apisix/2.6/tags/index.html                              |  4 ++--
 docs/apisix/2.7/FAQ/index.html                               |  4 ++--
 docs/apisix/2.7/IGNORE_DOC/index.html                        |  4 ++--
 docs/apisix/2.7/admin-api/index.html                         |  4 ++--
 docs/apisix/2.7/architecture-design/apisix/index.html        |  4 ++--
 docs/apisix/2.7/architecture-design/consumer/index.html      |  4 ++--
 docs/apisix/2.7/architecture-design/debug-mode/index.html    |  4 ++--
 docs/apisix/2.7/architecture-design/global-rule/index.html   |  4 ++--
 docs/apisix/2.7/architecture-design/index.html               |  4 ++--
 docs/apisix/2.7/architecture-design/plugin-config/index.html |  4 ++--
 docs/apisix/2.7/architecture-design/plugin/index.html        |  4 ++--
 docs/apisix/2.7/architecture-design/route/index.html         |  4 ++--
 docs/apisix/2.7/architecture-design/router/index.html        |  4 ++--
 docs/apisix/2.7/architecture-design/script/index.html        |  4 ++--
 docs/apisix/2.7/architecture-design/service/index.html       |  4 ++--
 docs/apisix/2.7/architecture-design/upstream/index.html      |  4 ++--
 docs/apisix/2.7/aws/index.html                               |  4 ++--
 docs/apisix/2.7/batch-processor/index.html                   |  4 ++--
 docs/apisix/2.7/benchmark/index.html                         |  4 ++--
 docs/apisix/2.7/certificate/index.html                       |  4 ++--
 docs/apisix/2.7/control-api/index.html                       |  4 ++--
 docs/apisix/2.7/customize-nginx-configuration/index.html     |  4 ++--
 docs/apisix/2.7/debug-function/index.html                    |  4 ++--
 docs/apisix/2.7/discovery/consul_kv/index.html               |  4 ++--
 docs/apisix/2.7/discovery/dns/index.html                     |  4 ++--
 docs/apisix/2.7/discovery/eureka/index.html                  |  4 ++--
 docs/apisix/2.7/discovery/index.html                         |  4 ++--
 docs/apisix/2.7/discovery/nacos/index.html                   |  4 ++--
 docs/apisix/2.7/dns/index.html                               |  4 ++--
 .../examples/plugins-hmac-auth-generate-signature/index.html |  4 ++--
 docs/apisix/2.7/external-plugin/index.html                   |  4 ++--
 docs/apisix/2.7/getting-started/index.html                   |  4 ++--
 docs/apisix/2.7/grpc-proxy/index.html                        |  4 ++--
 docs/apisix/2.7/health-check/index.html                      |  4 ++--
 docs/apisix/2.7/how-to-build/index.html                      |  4 ++--
 docs/apisix/2.7/https/index.html                             |  4 ++--
 docs/apisix/2.7/install-dependencies/index.html              |  4 ++--
 docs/apisix/2.7/internal/testing-framework/index.html        |  4 ++--
 docs/apisix/2.7/mtls/index.html                              |  4 ++--
 docs/apisix/2.7/plugin-develop/index.html                    |  4 ++--
 docs/apisix/2.7/plugin-interceptors/index.html               |  4 ++--
 docs/apisix/2.7/plugins/api-breaker/index.html               |  4 ++--
 docs/apisix/2.7/plugins/authz-casbin/index.html              |  4 ++--
 docs/apisix/2.7/plugins/authz-keycloak/index.html            |  4 ++--
 docs/apisix/2.7/plugins/basic-auth/index.html                |  4 ++--
 docs/apisix/2.7/plugins/batch-requests/index.html            |  4 ++--
 docs/apisix/2.7/plugins/client-control/index.html            |  4 ++--
 docs/apisix/2.7/plugins/consumer-restriction/index.html      |  4 ++--
 docs/apisix/2.7/plugins/cors/index.html                      |  4 ++--
 docs/apisix/2.7/plugins/dubbo-proxy/index.html               |  4 ++--
 docs/apisix/2.7/plugins/echo/index.html                      |  4 ++--
 docs/apisix/2.7/plugins/error-log-logger/index.html          |  4 ++--
 docs/apisix/2.7/plugins/ext-plugin-post-req/index.html       |  4 ++--
 docs/apisix/2.7/plugins/ext-plugin-pre-req/index.html        |  4 ++--
 docs/apisix/2.7/plugins/fault-injection/index.html           |  4 ++--
 docs/apisix/2.7/plugins/grpc-transcode/index.html            |  4 ++--
 docs/apisix/2.7/plugins/gzip/index.html                      |  4 ++--
 docs/apisix/2.7/plugins/hmac-auth/index.html                 |  4 ++--
 docs/apisix/2.7/plugins/http-logger/index.html               |  4 ++--
 docs/apisix/2.7/plugins/index.html                           |  4 ++--
 docs/apisix/2.7/plugins/ip-restriction/index.html            |  4 ++--
 docs/apisix/2.7/plugins/jwt-auth/index.html                  |  4 ++--
 docs/apisix/2.7/plugins/kafka-logger/index.html              |  4 ++--
 docs/apisix/2.7/plugins/key-auth/index.html                  |  4 ++--
 docs/apisix/2.7/plugins/limit-conn/index.html                |  4 ++--
 docs/apisix/2.7/plugins/limit-count/index.html               |  4 ++--
 docs/apisix/2.7/plugins/limit-req/index.html                 |  4 ++--
 docs/apisix/2.7/plugins/log-rotate/index.html                |  4 ++--
 docs/apisix/2.7/plugins/mqtt-proxy/index.html                |  4 ++--
 docs/apisix/2.7/plugins/node-status/index.html               |  4 ++--
 docs/apisix/2.7/plugins/openid-connect/index.html            |  4 ++--
 docs/apisix/2.7/plugins/prometheus/index.html                |  4 ++--
 docs/apisix/2.7/plugins/proxy-cache/index.html               |  4 ++--
 docs/apisix/2.7/plugins/proxy-mirror/index.html              |  4 ++--
 docs/apisix/2.7/plugins/proxy-rewrite/index.html             |  4 ++--
 docs/apisix/2.7/plugins/real-ip/index.html                   |  4 ++--
 docs/apisix/2.7/plugins/redirect/index.html                  |  4 ++--
 docs/apisix/2.7/plugins/referer-restriction/index.html       |  4 ++--
 docs/apisix/2.7/plugins/request-id/index.html                |  4 ++--
 docs/apisix/2.7/plugins/request-validation/index.html        |  4 ++--
 docs/apisix/2.7/plugins/response-rewrite/index.html          |  4 ++--
 docs/apisix/2.7/plugins/server-info/index.html               |  4 ++--
 docs/apisix/2.7/plugins/serverless/index.html                |  4 ++--
 docs/apisix/2.7/plugins/skywalking/index.html                |  4 ++--
 docs/apisix/2.7/plugins/sls-logger/index.html                |  4 ++--
 docs/apisix/2.7/plugins/syslog/index.html                    |  4 ++--
 docs/apisix/2.7/plugins/tcp-logger/index.html                |  4 ++--
 docs/apisix/2.7/plugins/traffic-split/index.html             |  4 ++--
 docs/apisix/2.7/plugins/ua-restriction/index.html            |  4 ++--
 docs/apisix/2.7/plugins/udp-logger/index.html                |  4 ++--
 docs/apisix/2.7/plugins/uri-blocker/index.html               |  4 ++--
 docs/apisix/2.7/plugins/wolf-rbac/index.html                 |  4 ++--
 docs/apisix/2.7/plugins/zipkin/index.html                    |  4 ++--
 docs/apisix/2.7/powered-by/index.html                        |  4 ++--
 docs/apisix/2.7/profile/index.html                           |  4 ++--
 docs/apisix/2.7/router-radixtree/index.html                  |  4 ++--
 docs/apisix/2.7/stand-alone/index.html                       |  4 ++--
 docs/apisix/2.7/stream-proxy/index.html                      |  4 ++--
 docs/apisix/2.7/tags/index.html                              |  4 ++--
 docs/apisix/2.8/FAQ/index.html                               |  4 ++--
 docs/apisix/2.8/IGNORE_DOC/index.html                        |  4 ++--
 docs/apisix/2.8/admin-api/index.html                         |  4 ++--
 docs/apisix/2.8/architecture-design/apisix/index.html        |  4 ++--
 docs/apisix/2.8/architecture-design/consumer/index.html      |  4 ++--
 docs/apisix/2.8/architecture-design/debug-mode/index.html    |  4 ++--
 docs/apisix/2.8/architecture-design/global-rule/index.html   |  4 ++--
 docs/apisix/2.8/architecture-design/index.html               |  4 ++--
 docs/apisix/2.8/architecture-design/plugin-config/index.html |  4 ++--
 docs/apisix/2.8/architecture-design/plugin/index.html        |  4 ++--
 docs/apisix/2.8/architecture-design/route/index.html         |  4 ++--
 docs/apisix/2.8/architecture-design/router/index.html        |  4 ++--
 docs/apisix/2.8/architecture-design/script/index.html        |  4 ++--
 docs/apisix/2.8/architecture-design/service/index.html       |  4 ++--
 docs/apisix/2.8/architecture-design/upstream/index.html      |  4 ++--
 docs/apisix/2.8/aws/index.html                               |  4 ++--
 docs/apisix/2.8/batch-processor/index.html                   |  4 ++--
 docs/apisix/2.8/benchmark/index.html                         |  4 ++--
 docs/apisix/2.8/certificate/index.html                       |  4 ++--
 docs/apisix/2.8/control-api/index.html                       |  4 ++--
 docs/apisix/2.8/customize-nginx-configuration/index.html     |  4 ++--
 docs/apisix/2.8/debug-function/index.html                    |  4 ++--
 docs/apisix/2.8/discovery/consul_kv/index.html               |  4 ++--
 docs/apisix/2.8/discovery/dns/index.html                     |  4 ++--
 docs/apisix/2.8/discovery/eureka/index.html                  |  4 ++--
 docs/apisix/2.8/discovery/index.html                         |  4 ++--
 docs/apisix/2.8/discovery/nacos/index.html                   |  4 ++--
 docs/apisix/2.8/dns/index.html                               |  4 ++--
 .../examples/plugins-hmac-auth-generate-signature/index.html |  4 ++--
 docs/apisix/2.8/external-plugin/index.html                   |  4 ++--
 docs/apisix/2.8/getting-started/index.html                   |  4 ++--
 docs/apisix/2.8/grpc-proxy/index.html                        |  4 ++--
 docs/apisix/2.8/health-check/index.html                      |  4 ++--
 docs/apisix/2.8/how-to-build/index.html                      |  4 ++--
 docs/apisix/2.8/https/index.html                             |  4 ++--
 docs/apisix/2.8/install-dependencies/index.html              |  4 ++--
 docs/apisix/2.8/internal/testing-framework/index.html        |  4 ++--
 docs/apisix/2.8/mtls/index.html                              |  4 ++--
 docs/apisix/2.8/plugin-develop/index.html                    |  4 ++--
 docs/apisix/2.8/plugin-interceptors/index.html               |  4 ++--
 docs/apisix/2.8/plugins/api-breaker/index.html               |  4 ++--
 docs/apisix/2.8/plugins/authz-casbin/index.html              |  4 ++--
 docs/apisix/2.8/plugins/authz-keycloak/index.html            |  4 ++--
 docs/apisix/2.8/plugins/basic-auth/index.html                |  4 ++--
 docs/apisix/2.8/plugins/batch-requests/index.html            |  4 ++--
 docs/apisix/2.8/plugins/client-control/index.html            |  4 ++--
 docs/apisix/2.8/plugins/consumer-restriction/index.html      |  4 ++--
 docs/apisix/2.8/plugins/cors/index.html                      |  4 ++--
 docs/apisix/2.8/plugins/dubbo-proxy/index.html               |  4 ++--
 docs/apisix/2.8/plugins/echo/index.html                      |  4 ++--
 docs/apisix/2.8/plugins/error-log-logger/index.html          |  4 ++--
 docs/apisix/2.8/plugins/ext-plugin-post-req/index.html       |  4 ++--
 docs/apisix/2.8/plugins/ext-plugin-pre-req/index.html        |  4 ++--
 docs/apisix/2.8/plugins/fault-injection/index.html           |  4 ++--
 docs/apisix/2.8/plugins/grpc-transcode/index.html            |  4 ++--
 docs/apisix/2.8/plugins/gzip/index.html                      |  4 ++--
 docs/apisix/2.8/plugins/hmac-auth/index.html                 |  4 ++--
 docs/apisix/2.8/plugins/http-logger/index.html               |  4 ++--
 docs/apisix/2.8/plugins/index.html                           |  4 ++--
 docs/apisix/2.8/plugins/ip-restriction/index.html            |  4 ++--
 docs/apisix/2.8/plugins/jwt-auth/index.html                  |  4 ++--
 docs/apisix/2.8/plugins/kafka-logger/index.html              |  4 ++--
 docs/apisix/2.8/plugins/key-auth/index.html                  |  4 ++--
 docs/apisix/2.8/plugins/limit-conn/index.html                |  4 ++--
 docs/apisix/2.8/plugins/limit-count/index.html               |  4 ++--
 docs/apisix/2.8/plugins/limit-req/index.html                 |  4 ++--
 docs/apisix/2.8/plugins/log-rotate/index.html                |  4 ++--
 docs/apisix/2.8/plugins/mqtt-proxy/index.html                |  4 ++--
 docs/apisix/2.8/plugins/node-status/index.html               |  4 ++--
 docs/apisix/2.8/plugins/openid-connect/index.html            |  4 ++--
 docs/apisix/2.8/plugins/prometheus/index.html                |  4 ++--
 docs/apisix/2.8/plugins/proxy-cache/index.html               |  4 ++--
 docs/apisix/2.8/plugins/proxy-mirror/index.html              |  4 ++--
 docs/apisix/2.8/plugins/proxy-rewrite/index.html             |  4 ++--
 docs/apisix/2.8/plugins/real-ip/index.html                   |  4 ++--
 docs/apisix/2.8/plugins/redirect/index.html                  |  4 ++--
 docs/apisix/2.8/plugins/referer-restriction/index.html       |  4 ++--
 docs/apisix/2.8/plugins/request-id/index.html                |  4 ++--
 docs/apisix/2.8/plugins/request-validation/index.html        |  4 ++--
 docs/apisix/2.8/plugins/response-rewrite/index.html          |  4 ++--
 docs/apisix/2.8/plugins/server-info/index.html               |  4 ++--
 docs/apisix/2.8/plugins/serverless/index.html                |  4 ++--
 docs/apisix/2.8/plugins/skywalking/index.html                |  4 ++--
 docs/apisix/2.8/plugins/sls-logger/index.html                |  4 ++--
 docs/apisix/2.8/plugins/syslog/index.html                    |  4 ++--
 docs/apisix/2.8/plugins/tcp-logger/index.html                |  4 ++--
 docs/apisix/2.8/plugins/traffic-split/index.html             |  4 ++--
 docs/apisix/2.8/plugins/ua-restriction/index.html            |  4 ++--
 docs/apisix/2.8/plugins/udp-logger/index.html                |  4 ++--
 docs/apisix/2.8/plugins/uri-blocker/index.html               |  4 ++--
 docs/apisix/2.8/plugins/wolf-rbac/index.html                 |  4 ++--
 docs/apisix/2.8/plugins/zipkin/index.html                    |  4 ++--
 docs/apisix/2.8/powered-by/index.html                        |  4 ++--
 docs/apisix/2.8/profile/index.html                           |  4 ++--
 docs/apisix/2.8/router-radixtree/index.html                  |  4 ++--
 docs/apisix/2.8/stand-alone/index.html                       |  4 ++--
 docs/apisix/2.8/stream-proxy/index.html                      |  4 ++--
 docs/apisix/2.8/tags/index.html                              |  4 ++--
 docs/apisix/FAQ/index.html                                   |  4 ++--
 docs/apisix/IGNORE_DOC/index.html                            |  4 ++--
 docs/apisix/admin-api/index.html                             |  4 ++--
 docs/apisix/architecture-design/apisix/index.html            |  4 ++--
 docs/apisix/architecture-design/consumer/index.html          |  4 ++--
 docs/apisix/architecture-design/debug-mode/index.html        |  4 ++--
 docs/apisix/architecture-design/global-rule/index.html       |  4 ++--
 docs/apisix/architecture-design/index.html                   |  4 ++--
 docs/apisix/architecture-design/plugin-config/index.html     |  4 ++--
 docs/apisix/architecture-design/plugin/index.html            |  4 ++--
 docs/apisix/architecture-design/route/index.html             |  4 ++--
 docs/apisix/architecture-design/router/index.html            |  4 ++--
 docs/apisix/architecture-design/script/index.html            |  4 ++--
 docs/apisix/architecture-design/service/index.html           |  4 ++--
 docs/apisix/architecture-design/upstream/index.html          |  4 ++--
 docs/apisix/aws/index.html                                   |  4 ++--
 docs/apisix/batch-processor/index.html                       |  4 ++--
 docs/apisix/benchmark/index.html                             |  4 ++--
 docs/apisix/certificate/index.html                           |  4 ++--
 docs/apisix/control-api/index.html                           |  4 ++--
 docs/apisix/customize-nginx-configuration/index.html         |  4 ++--
 docs/apisix/debug-function/index.html                        |  4 ++--
 docs/apisix/discovery/consul_kv/index.html                   |  4 ++--
 docs/apisix/discovery/dns/index.html                         |  4 ++--
 docs/apisix/discovery/eureka/index.html                      |  4 ++--
 docs/apisix/discovery/index.html                             |  4 ++--
 docs/apisix/discovery/nacos/index.html                       |  4 ++--
 docs/apisix/dns/index.html                                   |  4 ++--
 .../examples/plugins-hmac-auth-generate-signature/index.html |  4 ++--
 docs/apisix/external-plugin/index.html                       |  4 ++--
 docs/apisix/getting-started/index.html                       |  4 ++--
 docs/apisix/grpc-proxy/index.html                            |  4 ++--
 docs/apisix/health-check/index.html                          |  4 ++--
 docs/apisix/how-to-build/index.html                          |  4 ++--
 docs/apisix/https/index.html                                 |  4 ++--
 docs/apisix/install-dependencies/index.html                  |  4 ++--
 docs/apisix/internal/testing-framework/index.html            |  4 ++--
 docs/apisix/mtls/index.html                                  |  4 ++--
 docs/apisix/next/FAQ/index.html                              |  4 ++--
 docs/apisix/next/IGNORE_DOC/index.html                       |  6 +++---
 docs/apisix/next/admin-api/index.html                        |  4 ++--
 docs/apisix/next/architecture-design/apisix/index.html       |  4 ++--
 docs/apisix/next/architecture-design/consumer/index.html     |  4 ++--
 docs/apisix/next/architecture-design/debug-mode/index.html   |  4 ++--
 docs/apisix/next/architecture-design/global-rule/index.html  |  4 ++--
 docs/apisix/next/architecture-design/index.html              |  4 ++--
 .../apisix/next/architecture-design/plugin-config/index.html |  4 ++--
 docs/apisix/next/architecture-design/plugin/index.html       |  4 ++--
 docs/apisix/next/architecture-design/route/index.html        |  4 ++--
 docs/apisix/next/architecture-design/router/index.html       |  4 ++--
 docs/apisix/next/architecture-design/script/index.html       |  4 ++--
 docs/apisix/next/architecture-design/service/index.html      |  4 ++--
 docs/apisix/next/architecture-design/upstream/index.html     |  4 ++--
 docs/apisix/next/aws/index.html                              |  4 ++--
 docs/apisix/next/batch-processor/index.html                  |  4 ++--
 docs/apisix/next/benchmark/index.html                        |  4 ++--
 docs/apisix/next/certificate/index.html                      |  4 ++--
 docs/apisix/next/control-api/index.html                      |  4 ++--
 docs/apisix/next/customize-nginx-configuration/index.html    |  4 ++--
 docs/apisix/next/debug-function/index.html                   |  4 ++--
 docs/apisix/next/discovery/consul_kv/index.html              |  4 ++--
 docs/apisix/next/discovery/dns/index.html                    |  4 ++--
 docs/apisix/next/discovery/eureka/index.html                 |  4 ++--
 docs/apisix/next/discovery/index.html                        |  4 ++--
 docs/apisix/next/discovery/nacos/index.html                  |  4 ++--
 docs/apisix/next/dns/index.html                              |  4 ++--
 .../examples/plugins-hmac-auth-generate-signature/index.html |  4 ++--
 docs/apisix/next/external-plugin/index.html                  |  4 ++--
 docs/apisix/next/getting-started/index.html                  |  4 ++--
 docs/apisix/next/grpc-proxy/index.html                       |  4 ++--
 docs/apisix/next/health-check/index.html                     |  4 ++--
 docs/apisix/next/how-to-build/index.html                     |  4 ++--
 docs/apisix/next/https/index.html                            |  4 ++--
 docs/apisix/next/install-dependencies/index.html             |  4 ++--
 docs/apisix/next/internal/testing-framework/index.html       |  4 ++--
 docs/apisix/next/mtls/index.html                             |  4 ++--
 docs/apisix/next/plugin-develop/index.html                   |  4 ++--
 docs/apisix/next/plugin-interceptors/index.html              |  4 ++--
 docs/apisix/next/plugins/api-breaker/index.html              |  4 ++--
 docs/apisix/next/plugins/authz-casbin/index.html             |  4 ++--
 docs/apisix/next/plugins/authz-keycloak/index.html           |  4 ++--
 docs/apisix/next/plugins/basic-auth/index.html               |  4 ++--
 docs/apisix/next/plugins/batch-requests/index.html           |  4 ++--
 docs/apisix/next/plugins/client-control/index.html           |  4 ++--
 docs/apisix/next/plugins/consumer-restriction/index.html     |  4 ++--
 docs/apisix/next/plugins/cors/index.html                     |  4 ++--
 docs/apisix/next/plugins/dubbo-proxy/index.html              |  4 ++--
 docs/apisix/next/plugins/echo/index.html                     |  4 ++--
 docs/apisix/next/plugins/error-log-logger/index.html         |  4 ++--
 docs/apisix/next/plugins/ext-plugin-post-req/index.html      |  4 ++--
 docs/apisix/next/plugins/ext-plugin-pre-req/index.html       |  4 ++--
 docs/apisix/next/plugins/fault-injection/index.html          |  4 ++--
 docs/apisix/next/plugins/grpc-transcode/index.html           |  4 ++--
 docs/apisix/next/plugins/gzip/index.html                     |  4 ++--
 docs/apisix/next/plugins/hmac-auth/index.html                |  4 ++--
 docs/apisix/next/plugins/http-logger/index.html              |  4 ++--
 docs/apisix/next/plugins/index.html                          |  4 ++--
 docs/apisix/next/plugins/ip-restriction/index.html           |  4 ++--
 docs/apisix/next/plugins/jwt-auth/index.html                 |  4 ++--
 docs/apisix/next/plugins/kafka-logger/index.html             |  4 ++--
 docs/apisix/next/plugins/key-auth/index.html                 |  4 ++--
 docs/apisix/next/plugins/limit-conn/index.html               |  4 ++--
 docs/apisix/next/plugins/limit-count/index.html              |  4 ++--
 docs/apisix/next/plugins/limit-req/index.html                |  4 ++--
 docs/apisix/next/plugins/log-rotate/index.html               |  4 ++--
 docs/apisix/next/plugins/mqtt-proxy/index.html               |  4 ++--
 docs/apisix/next/plugins/node-status/index.html              |  4 ++--
 docs/apisix/next/plugins/openid-connect/index.html           |  4 ++--
 docs/apisix/next/plugins/prometheus/index.html               |  4 ++--
 docs/apisix/next/plugins/proxy-cache/index.html              |  4 ++--
 docs/apisix/next/plugins/proxy-mirror/index.html             |  4 ++--
 docs/apisix/next/plugins/proxy-rewrite/index.html            |  4 ++--
 docs/apisix/next/plugins/real-ip/index.html                  |  4 ++--
 docs/apisix/next/plugins/redirect/index.html                 |  4 ++--
 docs/apisix/next/plugins/referer-restriction/index.html      |  4 ++--
 docs/apisix/next/plugins/request-id/index.html               |  4 ++--
 docs/apisix/next/plugins/request-validation/index.html       |  4 ++--
 docs/apisix/next/plugins/response-rewrite/index.html         |  4 ++--
 docs/apisix/next/plugins/server-info/index.html              |  4 ++--
 docs/apisix/next/plugins/serverless/index.html               |  4 ++--
 docs/apisix/next/plugins/skywalking/index.html               |  4 ++--
 docs/apisix/next/plugins/sls-logger/index.html               |  4 ++--
 docs/apisix/next/plugins/syslog/index.html                   |  4 ++--
 docs/apisix/next/plugins/tcp-logger/index.html               |  4 ++--
 docs/apisix/next/plugins/traffic-split/index.html            |  4 ++--
 docs/apisix/next/plugins/ua-restriction/index.html           |  4 ++--
 docs/apisix/next/plugins/udp-logger/index.html               |  4 ++--
 docs/apisix/next/plugins/uri-blocker/index.html              |  4 ++--
 docs/apisix/next/plugins/wolf-rbac/index.html                |  4 ++--
 docs/apisix/next/plugins/zipkin/index.html                   |  4 ++--
 docs/apisix/next/powered-by/index.html                       |  4 ++--
 docs/apisix/next/profile/index.html                          |  4 ++--
 docs/apisix/next/router-radixtree/index.html                 |  4 ++--
 docs/apisix/next/stand-alone/index.html                      |  4 ++--
 docs/apisix/next/stream-proxy/index.html                     |  4 ++--
 docs/apisix/next/tags/index.html                             |  4 ++--
 docs/apisix/plugin-develop/index.html                        |  4 ++--
 docs/apisix/plugin-interceptors/index.html                   |  4 ++--
 docs/apisix/plugins/api-breaker/index.html                   |  4 ++--
 docs/apisix/plugins/authz-casbin/index.html                  |  4 ++--
 docs/apisix/plugins/authz-keycloak/index.html                |  4 ++--
 docs/apisix/plugins/basic-auth/index.html                    |  4 ++--
 docs/apisix/plugins/batch-requests/index.html                |  4 ++--
 docs/apisix/plugins/client-control/index.html                |  4 ++--
 docs/apisix/plugins/consumer-restriction/index.html          |  4 ++--
 docs/apisix/plugins/cors/index.html                          |  4 ++--
 docs/apisix/plugins/dubbo-proxy/index.html                   |  4 ++--
 docs/apisix/plugins/echo/index.html                          |  4 ++--
 docs/apisix/plugins/error-log-logger/index.html              |  4 ++--
 docs/apisix/plugins/ext-plugin-post-req/index.html           |  4 ++--
 docs/apisix/plugins/ext-plugin-pre-req/index.html            |  4 ++--
 docs/apisix/plugins/fault-injection/index.html               |  4 ++--
 docs/apisix/plugins/grpc-transcode/index.html                |  4 ++--
 docs/apisix/plugins/gzip/index.html                          |  4 ++--
 docs/apisix/plugins/hmac-auth/index.html                     |  4 ++--
 docs/apisix/plugins/http-logger/index.html                   |  4 ++--
 docs/apisix/plugins/index.html                               |  4 ++--
 docs/apisix/plugins/ip-restriction/index.html                |  4 ++--
 docs/apisix/plugins/jwt-auth/index.html                      |  4 ++--
 docs/apisix/plugins/kafka-logger/index.html                  |  4 ++--
 docs/apisix/plugins/key-auth/index.html                      |  4 ++--
 docs/apisix/plugins/limit-conn/index.html                    |  4 ++--
 docs/apisix/plugins/limit-count/index.html                   |  4 ++--
 docs/apisix/plugins/limit-req/index.html                     |  4 ++--
 docs/apisix/plugins/log-rotate/index.html                    |  4 ++--
 docs/apisix/plugins/mqtt-proxy/index.html                    |  4 ++--
 docs/apisix/plugins/node-status/index.html                   |  4 ++--
 docs/apisix/plugins/openid-connect/index.html                |  4 ++--
 docs/apisix/plugins/prometheus/index.html                    |  4 ++--
 docs/apisix/plugins/proxy-cache/index.html                   |  4 ++--
 docs/apisix/plugins/proxy-mirror/index.html                  |  4 ++--
 docs/apisix/plugins/proxy-rewrite/index.html                 |  4 ++--
 docs/apisix/plugins/real-ip/index.html                       |  4 ++--
 docs/apisix/plugins/redirect/index.html                      |  4 ++--
 docs/apisix/plugins/referer-restriction/index.html           |  4 ++--
 docs/apisix/plugins/request-id/index.html                    |  4 ++--
 docs/apisix/plugins/request-validation/index.html            |  4 ++--
 docs/apisix/plugins/response-rewrite/index.html              |  4 ++--
 docs/apisix/plugins/server-info/index.html                   |  4 ++--
 docs/apisix/plugins/serverless/index.html                    |  4 ++--
 docs/apisix/plugins/skywalking/index.html                    |  4 ++--
 docs/apisix/plugins/sls-logger/index.html                    |  4 ++--
 docs/apisix/plugins/syslog/index.html                        |  4 ++--
 docs/apisix/plugins/tcp-logger/index.html                    |  4 ++--
 docs/apisix/plugins/traffic-split/index.html                 |  4 ++--
 docs/apisix/plugins/ua-restriction/index.html                |  4 ++--
 docs/apisix/plugins/udp-logger/index.html                    |  4 ++--
 docs/apisix/plugins/uri-blocker/index.html                   |  4 ++--
 docs/apisix/plugins/wolf-rbac/index.html                     |  4 ++--
 docs/apisix/plugins/zipkin/index.html                        |  4 ++--
 docs/apisix/powered-by/index.html                            |  4 ++--
 docs/apisix/profile/index.html                               |  4 ++--
 docs/apisix/router-radixtree/index.html                      |  4 ++--
 docs/apisix/stand-alone/index.html                           |  4 ++--
 docs/apisix/stream-proxy/index.html                          |  4 ++--
 docs/apisix/tags/index.html                                  |  4 ++--
 docs/dashboard/2.5/FAQ/index.html                            |  4 ++--
 docs/dashboard/2.5/I18N_USER_GUIDE/index.html                |  4 ++--
 docs/dashboard/2.5/IGNORE_DOC/index.html                     |  4 ++--
 docs/dashboard/2.5/IMPORT_OPENAPI_USER_GUIDE/index.html      |  4 ++--
 docs/dashboard/2.5/USER_GUIDE/index.html                     |  4 ++--
 docs/dashboard/2.5/api/api/index.html                        |  4 ++--
 docs/dashboard/2.5/back-end-tests/index.html                 |  4 ++--
 docs/dashboard/2.5/deploy-with-docker/index.html             |  4 ++--
 docs/dashboard/2.5/deploy-with-rpm/index.html                |  4 ++--
 docs/dashboard/2.5/deploy/index.html                         |  4 ++--
 docs/dashboard/2.5/develop/index.html                        |  4 ++--
 docs/dashboard/2.5/front-end-e2e/index.html                  |  4 ++--
 docs/dashboard/2.5/tags/index.html                           |  4 ++--
 docs/dashboard/2.6.1/FAQ/index.html                          |  4 ++--
 docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html              |  4 ++--
 docs/dashboard/2.6.1/IGNORE_DOC/index.html                   |  4 ++--
 docs/dashboard/2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html    |  4 ++--
 docs/dashboard/2.6.1/USER_GUIDE/index.html                   |  4 ++--
 docs/dashboard/2.6.1/api/api/index.html                      |  4 ++--
 docs/dashboard/2.6.1/back-end-tests/index.html               |  4 ++--
 docs/dashboard/2.6.1/deploy-with-docker/index.html           |  4 ++--
 docs/dashboard/2.6.1/deploy-with-rpm/index.html              |  4 ++--
 docs/dashboard/2.6.1/deploy/index.html                       |  4 ++--
 docs/dashboard/2.6.1/develop/index.html                      |  4 ++--
 docs/dashboard/2.6.1/front-end-e2e/index.html                |  4 ++--
 docs/dashboard/2.6.1/tags/index.html                         |  4 ++--
 docs/dashboard/2.6/FAQ/index.html                            |  4 ++--
 docs/dashboard/2.6/I18N_USER_GUIDE/index.html                |  4 ++--
 docs/dashboard/2.6/IGNORE_DOC/index.html                     |  4 ++--
 docs/dashboard/2.6/IMPORT_OPENAPI_USER_GUIDE/index.html      |  4 ++--
 docs/dashboard/2.6/USER_GUIDE/index.html                     |  4 ++--
 docs/dashboard/2.6/api/api/index.html                        |  4 ++--
 docs/dashboard/2.6/back-end-tests/index.html                 |  4 ++--
 docs/dashboard/2.6/deploy-with-docker/index.html             |  4 ++--
 docs/dashboard/2.6/deploy-with-rpm/index.html                |  4 ++--
 docs/dashboard/2.6/deploy/index.html                         |  4 ++--
 docs/dashboard/2.6/develop/index.html                        |  4 ++--
 docs/dashboard/2.6/front-end-e2e/index.html                  |  4 ++--
 docs/dashboard/2.6/tags/index.html                           |  4 ++--
 docs/dashboard/2.7.1/FAQ/index.html                          |  4 ++--
 docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html              |  4 ++--
 docs/dashboard/2.7.1/IGNORE_DOC/index.html                   |  4 ++--
 docs/dashboard/2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html    |  4 ++--
 docs/dashboard/2.7.1/USER_GUIDE/index.html                   |  4 ++--
 docs/dashboard/2.7.1/api/api/index.html                      |  4 ++--
 docs/dashboard/2.7.1/back-end-tests/index.html               |  4 ++--
 docs/dashboard/2.7.1/deploy-with-docker/index.html           |  4 ++--
 docs/dashboard/2.7.1/deploy-with-rpm/index.html              |  4 ++--
 docs/dashboard/2.7.1/deploy/index.html                       |  4 ++--
 docs/dashboard/2.7.1/develop/index.html                      |  4 ++--
 docs/dashboard/2.7.1/front-end-e2e/index.html                |  4 ++--
 docs/dashboard/2.7.1/tags/index.html                         |  4 ++--
 docs/dashboard/2.7/FAQ/index.html                            |  4 ++--
 docs/dashboard/2.7/I18N_USER_GUIDE/index.html                |  4 ++--
 docs/dashboard/2.7/IGNORE_DOC/index.html                     |  4 ++--
 docs/dashboard/2.7/IMPORT_OPENAPI_USER_GUIDE/index.html      |  4 ++--
 docs/dashboard/2.7/USER_GUIDE/index.html                     |  4 ++--
 docs/dashboard/2.7/api/api/index.html                        |  4 ++--
 docs/dashboard/2.7/back-end-tests/index.html                 |  4 ++--
 docs/dashboard/2.7/deploy-with-docker/index.html             |  4 ++--
 docs/dashboard/2.7/deploy-with-rpm/index.html                |  4 ++--
 docs/dashboard/2.7/deploy/index.html                         |  4 ++--
 docs/dashboard/2.7/develop/index.html                        |  4 ++--
 docs/dashboard/2.7/front-end-e2e/index.html                  |  4 ++--
 docs/dashboard/2.7/tags/index.html                           |  4 ++--
 docs/dashboard/FAQ/index.html                                |  4 ++--
 docs/dashboard/I18N_USER_GUIDE/index.html                    |  4 ++--
 docs/dashboard/IGNORE_DOC/index.html                         |  4 ++--
 docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html          |  4 ++--
 docs/dashboard/USER_GUIDE/index.html                         |  4 ++--
 docs/dashboard/api/api/index.html                            |  4 ++--
 docs/dashboard/back-end-tests/index.html                     |  4 ++--
 docs/dashboard/deploy-with-docker/index.html                 |  4 ++--
 docs/dashboard/deploy-with-rpm/index.html                    |  4 ++--
 docs/dashboard/deploy/index.html                             |  4 ++--
 docs/dashboard/develop/index.html                            |  4 ++--
 docs/dashboard/front-end-e2e/index.html                      |  4 ++--
 docs/dashboard/next/FAQ/index.html                           |  4 ++--
 docs/dashboard/next/I18N_USER_GUIDE/index.html               |  4 ++--
 docs/dashboard/next/IGNORE_DOC/index.html                    |  6 +++---
 docs/dashboard/next/IMPORT_OPENAPI_USER_GUIDE/index.html     |  4 ++--
 docs/dashboard/next/USER_GUIDE/index.html                    |  4 ++--
 docs/dashboard/next/api/api/index.html                       |  4 ++--
 docs/dashboard/next/back-end-tests/index.html                |  4 ++--
 docs/dashboard/next/deploy-with-docker/index.html            |  4 ++--
 docs/dashboard/next/deploy-with-rpm/index.html               |  4 ++--
 docs/dashboard/next/deploy/index.html                        |  4 ++--
 docs/dashboard/next/develop/index.html                       |  4 ++--
 docs/dashboard/next/front-end-e2e/index.html                 |  4 ++--
 docs/dashboard/next/tags/index.html                          |  4 ++--
 docs/dashboard/tags/index.html                               |  4 ++--
 docs/docker/IGNORE_DOC/index.html                            |  4 ++--
 docs/docker/apisix-2.10.0/IGNORE_DOC/index.html              |  4 ++--
 docs/docker/apisix-2.10.0/build/index.html                   |  4 ++--
 docs/docker/apisix-2.10.0/example/index.html                 |  4 ++--
 docs/docker/apisix-2.10.0/manual/index.html                  |  4 ++--
 docs/docker/apisix-2.10.0/tags/index.html                    |  4 ++--
 docs/docker/apisix-2.9.0/IGNORE_DOC/index.html               |  4 ++--
 docs/docker/apisix-2.9.0/build/index.html                    |  4 ++--
 docs/docker/apisix-2.9.0/example/index.html                  |  4 ++--
 docs/docker/apisix-2.9.0/manual/index.html                   |  4 ++--
 docs/docker/apisix-2.9.0/tags/index.html                     |  4 ++--
 docs/docker/build/index.html                                 |  4 ++--
 docs/docker/example/index.html                               |  4 ++--
 docs/docker/manual/index.html                                |  4 ++--
 docs/docker/next/IGNORE_DOC/index.html                       |  6 +++---
 docs/docker/next/build/index.html                            |  4 ++--
 docs/docker/next/example/index.html                          |  4 ++--
 docs/docker/next/manual/index.html                           |  4 ++--
 docs/docker/next/tags/index.html                             |  4 ++--
 docs/docker/tags/index.html                                  |  4 ++--
 docs/general/2fa/index.html                                  |  6 +++---
 docs/general/committer-guide/index.html                      |  6 +++---
 docs/general/contributor-guide/index.html                    |  6 +++---
 docs/general/integrate-with-project-docs/index.html          |  6 +++---
 docs/general/release-guide/index.html                        |  6 +++---
 docs/general/security/index.html                             |  6 +++---
 docs/general/subscribe-guide/index.html                      |  6 +++---
 docs/general/tags/index.html                                 |  4 ++--
 docs/go-plugin-runner/0.1.0/IGNORE_DOC/index.html            |  4 ++--
 docs/go-plugin-runner/0.1.0/developer-guide/index.html       |  4 ++--
 docs/go-plugin-runner/0.1.0/getting-started/index.html       |  4 ++--
 docs/go-plugin-runner/0.1.0/tags/index.html                  |  4 ++--
 docs/go-plugin-runner/IGNORE_DOC/index.html                  |  4 ++--
 docs/go-plugin-runner/developer-guide/index.html             |  4 ++--
 docs/go-plugin-runner/getting-started/index.html             |  4 ++--
 docs/go-plugin-runner/next/IGNORE_DOC/index.html             |  6 +++---
 docs/go-plugin-runner/next/developer-guide/index.html        |  4 ++--
 docs/go-plugin-runner/next/getting-started/index.html        |  4 ++--
 docs/go-plugin-runner/next/tags/index.html                   |  4 ++--
 docs/go-plugin-runner/tags/index.html                        |  4 ++--
 docs/helm-chart/FAQ/index.html                               |  4 ++--
 docs/helm-chart/IGNORE_DOC/index.html                        |  6 +++---
 docs/helm-chart/apisix-dashboard/index.html                  |  4 ++--
 docs/helm-chart/apisix-ingress-controller/index.html         |  4 ++--
 docs/helm-chart/apisix/index.html                            |  4 ++--
 docs/helm-chart/tags/index.html                              |  4 ++--
 docs/index.html                                              |  4 ++--
 docs/ingress-controller/FAQ/index.html                       |  4 ++--
 docs/ingress-controller/IGNORE_DOC/index.html                |  6 +++---
 docs/ingress-controller/concepts/annotations/index.html      |  4 ++--
 .../concepts/apisix_cluster_config/index.html                |  4 ++--
 docs/ingress-controller/concepts/apisix_route/index.html     |  4 ++--
 docs/ingress-controller/concepts/apisix_tls/index.html       |  4 ++--
 docs/ingress-controller/concepts/apisix_upstream/index.html  |  4 ++--
 docs/ingress-controller/contribute/index.html                |  4 ++--
 docs/ingress-controller/deployments/ack/index.html           |  4 ++--
 docs/ingress-controller/deployments/aws/index.html           |  4 ++--
 docs/ingress-controller/deployments/azure/index.html         |  4 ++--
 docs/ingress-controller/deployments/gke/index.html           |  4 ++--
 docs/ingress-controller/deployments/k3s-rke/index.html       |  4 ++--
 docs/ingress-controller/deployments/kubesphere/index.html    |  4 ++--
 docs/ingress-controller/deployments/minikube/index.html      |  4 ++--
 docs/ingress-controller/deployments/tke/index.html           |  4 ++--
 docs/ingress-controller/design/index.html                    |  4 ++--
 docs/ingress-controller/development/index.html               |  4 ++--
 docs/ingress-controller/getting-started/index.html           |  4 ++--
 .../ingress-controller/practices/check-crd-status/index.html |  4 ++--
 docs/ingress-controller/practices/index/index.html           |  4 ++--
 .../manage-certificates-with-cert-manager/index.html         |  4 ++--
 .../manage-ingress-certificates-with-cert-manager/index.html |  4 ++--
 docs/ingress-controller/practices/mtls/index.html            |  4 ++--
 .../proxy-the-httpbin-service-with-ingress/index.html        |  4 ++--
 .../practices/proxy-the-httpbin-service/index.html           |  4 ++--
 docs/ingress-controller/practices/the-hard-way/index.html    |  4 ++--
 .../references/apisix_cluster_config/index.html              |  4 ++--
 .../ingress-controller/references/apisix_route_v1/index.html |  4 ++--
 .../references/apisix_route_v2alpha1/index.html              |  4 ++--
 .../references/apisix_route_v2beta1/index.html               |  4 ++--
 docs/ingress-controller/references/apisix_tls/index.html     |  4 ++--
 .../ingress-controller/references/apisix_upstream/index.html |  4 ++--
 docs/ingress-controller/tags/index.html                      |  4 ++--
 docs/java-plugin-runner/IGNORE_DOC/index.html                |  4 ++--
 docs/java-plugin-runner/development/index.html               |  4 ++--
 docs/java-plugin-runner/how-it-works/index.html              |  4 ++--
 docs/java-plugin-runner/next/IGNORE_DOC/index.html           |  6 +++---
 docs/java-plugin-runner/next/development/index.html          |  4 ++--
 docs/java-plugin-runner/next/how-it-works/index.html         |  4 ++--
 docs/java-plugin-runner/next/tags/index.html                 |  4 ++--
 .../the-internal-of-apisix-java-plugin-runner/index.html     |  4 ++--
 docs/java-plugin-runner/tags/index.html                      |  4 ++--
 .../the-internal-of-apisix-java-plugin-runner/index.html     |  4 ++--
 docs/python-plugin-runner/IGNORE_DOC/index.html              |  4 ++--
 docs/python-plugin-runner/developer-guide/index.html         |  4 ++--
 docs/python-plugin-runner/getting-started/index.html         |  4 ++--
 docs/python-plugin-runner/next/IGNORE_DOC/index.html         |  6 +++---
 docs/python-plugin-runner/next/developer-guide/index.html    |  4 ++--
 docs/python-plugin-runner/next/getting-started/index.html    |  4 ++--
 docs/python-plugin-runner/next/tags/index.html               |  4 ++--
 docs/python-plugin-runner/tags/index.html                    |  4 ++--
 downloads/index.html                                         |  4 ++--
 events/archive/index.html                                    |  4 ++--
 help/index.html                                              |  4 ++--
 index.html                                                   |  4 ++--
 plugins/index.html                                           |  4 ++--
 releases/2019/11/15/release-apache-apisix-0.9/index.html     |  4 ++--
 releases/2019/9/29/release-apache-apisix-0.8/index.html      |  4 ++--
 releases/2019/9/6/release-apache-apisix-0.7/index.html       |  4 ++--
 releases/2020/1/15/release-apache-apisix-1.0/index.html      |  4 ++--
 releases/2020/10/28/release-apache-apisix-2.0/index.html     |  4 ++--
 releases/2020/12/1/release-apache-apisix-2.1/index.html      |  4 ++--
 .../12/16/release-apache-apisix-dashboard-2.2/index.html     |  4 ++--
 .../index.html                                               |  4 ++--
 releases/2020/2/24/release-apache-apisix-1.1/index.html      |  4 ++--
 .../2020/2/24/release-apache-apisix-dashboard-1.0/index.html |  4 ++--
 releases/2020/4/20/release-apache-apisix-1.2/index.html      |  4 ++--
 releases/2020/5/26/release-apache-apisix-1.3/index.html      |  4 ++--
 releases/2020/6/30/release-apache-apisix-1.4/index.html      |  4 ++--
 releases/2020/7/20/release-apache-apisix-1.4.1/index.html    |  4 ++--
 .../2020/8/12/release-apache-apisix-dashboard-1.5/index.html |  4 ++--
 releases/2020/8/6/release-apache-apisix-1.5/index.html       |  4 ++--
 .../2021/1/11/release-apache-apisix-dashboard-2.3/index.html |  4 ++--
 .../index.html                                               |  4 ++--
 releases/2021/1/8/release-apache-apisix-2.2/index.html       |  4 ++--
 .../index.html                                               |  4 ++--
 .../2021/2/12/release-apache-apisix-dashboard-2.4/index.html |  4 ++--
 releases/2021/2/9/release-apache-apisix-2.3/index.html       |  4 ++--
 .../index.html                                               |  4 ++--
 .../2021/3/29/release-apache-apisix-dashboard-2.5/index.html |  4 ++--
 releases/2021/3/5/release-apache-apisix-2.4/index.html       |  4 ++--
 .../index.html                                               |  4 ++--
 .../2021/4/22/release-apache-apisix-dashboard-2.6/index.html |  4 ++--
 releases/2021/4/5/release-apache-apisix-2.5/index.html       |  4 ++--
 .../index.html                                               |  4 ++--
 releases/2021/5/24/release-apache-apisix-2.6/index.html      |  4 ++--
 .../5/27/release-apache-apisix-dashboard-2.6.1/index.html    |  4 ++--
 .../2021/6/15/release-apache-apisix-dashboard-2.7/index.html |  4 ++--
 .../index.html                                               |  4 ++--
 releases/2021/6/25/release-apache-apisix-2.7/index.html      |  4 ++--
 .../index.html                                               |  4 ++--
 .../release-apache-apisix-go-plugin-runner-0.1.0/index.html  |  4 ++--
 releases/2021/7/27/release-apache-apisix-2.8/index.html      |  4 ++--
 .../index.html                                               |  4 ++--
 .../8/10/release-apache-apisix-dashboard-2.7.1/index.html    |  4 ++--
 .../index.html                                               |  4 ++--
 releases/2021/8/27/release-apache-apisix-2.9/index.html      |  4 ++--
 .../release-apache-apisix-go-plugin-runner-0.2.0/index.html  |  4 ++--
 .../index.html                                               |  4 ++--
 .../2021/9/7/release-apache-apisix-dashboard-2.8/index.html  |  4 ++--
 releases/archive/index.html                                  |  4 ++--
 releases/index.html                                          |  4 ++--
 releases/page/2/index.html                                   |  4 ++--
 releases/page/3/index.html                                   |  4 ++--
 releases/page/4/index.html                                   |  4 ++--
 releases/page/5/index.html                                   |  4 ++--
 releases/tags/apisix-dashboard/index.html                    |  4 ++--
 releases/tags/apisix-go-plugin-runner/index.html             |  4 ++--
 releases/tags/apisix-ingress-controller/index.html           |  4 ++--
 releases/tags/apisix-java-plugin-runner/index.html           |  4 ++--
 releases/tags/apisix-python-plugin-runner/index.html         |  4 ++--
 releases/tags/apisix/index.html                              |  4 ++--
 releases/tags/index.html                                     |  4 ++--
 search/index.html                                            |  4 ++--
 sections/components/arrowAnim/index.html                     |  4 ++--
 sections/components/eventPosterCard/index.html               |  4 ++--
 sections/components/heroCanvas/index.html                    |  4 ++--
 sections/components/ossCanvas/index.html                     |  4 ++--
 showcase/index.html                                          |  4 ++--
 team/index.html                                              |  4 ++--
 zh/404.html                                                  |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../index.html                                               | 12 ++++++------
 zh/articles/Apache-APISIX-Incubator-Journey/index.html       |  8 ++++----
 zh/articles/Apache-APISIX-Kubernetes-Ingress/index.html      |  8 ++++----
 zh/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html   | 12 ++++++------
 .../index.html                                               |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../Rendering-Community-Events-Using-ECharts/index.html      |  8 ++++----
 zh/articles/Speed-Limiting-With-Apache-APISIX/index.html     |  8 ++++----
 .../Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html |  8 ++++----
 zh/articles/The-Appeal-of-OpenSource/index.html              |  8 ++++----
 zh/articles/The-Evolution-of-Apache-APISIX/index.html        |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/articles/archive/index.html                               |  8 ++++----
 zh/articles/atom.xml                                         |  6 +++---
 zh/articles/index.html                                       | 10 +++++-----
 zh/articles/page/2/index.html                                |  8 ++++----
 zh/articles/rss.xml                                          |  6 +++---
 zh/assets/js/{09b17eb5.829b2506.js => 09b17eb5.c1654e0f.js}  |  2 +-
 zh/assets/js/19945770.01237068.js                            |  1 -
 zh/assets/js/19945770.64eb2968.js                            |  1 +
 zh/assets/js/{3393d167.290aa716.js => 3393d167.38db7914.js}  |  2 +-
 zh/assets/js/{358566b4.44a3d88e.js => 358566b4.f2565404.js}  |  2 +-
 zh/assets/js/3dc9f306.1d6d6958.js                            |  1 -
 zh/assets/js/3dc9f306.e75d3dba.js                            |  1 +
 zh/assets/js/{358566b4.44a3d88e.js => 40fb2fae.7beb6dca.js}  |  2 +-
 .../assets/js/4c20006b.ca85a15c.js                           |  2 +-
 zh/assets/js/4c20006b.fed8e505.js                            |  1 -
 zh/assets/js/{50facf8e.23d9e39f.js => 50facf8e.d2edc1bc.js}  |  2 +-
 zh/assets/js/{542fd41f.ad681539.js => 542fd41f.1b179054.js}  |  2 +-
 zh/assets/js/{5b0fa993.87ecdc90.js => 5b0fa993.4ba7cff4.js}  |  2 +-
 zh/assets/js/{601c6eaa.7fe528ab.js => 601c6eaa.c3149b49.js}  |  2 +-
 zh/assets/js/{66fbb9c2.479b0cad.js => 66fbb9c2.fc7a3389.js}  |  2 +-
 zh/assets/js/7af3052c.6af5589d.js                            |  1 +
 zh/assets/js/7af3052c.7c2d6467.js                            |  1 -
 zh/assets/js/{80791de8.013a45ee.js => 80791de8.eb39b921.js}  |  2 +-
 zh/assets/js/8e784bf3.81b22817.js                            |  1 +
 zh/assets/js/8e784bf3.c544fae5.js                            |  1 -
 zh/assets/js/{8f700fa6.0bfe5706.js => 8f700fa6.34d63850.js}  |  2 +-
 zh/assets/js/{90fc8a94.03179763.js => 90fc8a94.895518da.js}  |  2 +-
 zh/assets/js/{941960b1.f8f95284.js => 941960b1.f9ebd1e3.js}  |  2 +-
 zh/assets/js/adbb350b.241118ed.js                            |  1 +
 zh/assets/js/adbb350b.c3ca7aba.js                            |  1 -
 zh/assets/js/{d18db9b0.b1c7829d.js => d18db9b0.85ffd6a3.js}  |  2 +-
 zh/assets/js/{main.eeeae1e7.js => main.3a518d2c.js}          |  4 ++--
 ....eeeae1e7.js.LICENSE.txt => main.3a518d2c.js.LICENSE.txt} |  0
 .../{runtime~main.3f27b192.js => runtime~main.9ea513dc.js}   |  2 +-
 .../index.html                                               |  8 ++++----
 .../12/18/a-first-look-at-kubernetes-service-api/index.html  |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/blog/2021/05/24/Tencent-Games/index.html                  |  8 ++++----
 .../index.html"                                              |  8 ++++----
 .../experience-share-from-Apache-APISIX-committer/index.html |  8 ++++----
 zh/blog/2021/06/06/apisix-two-years/index.html               |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../06/21/use-Java-to-write-Apache-APISIX-plugins/index.html |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/blog/2021/06/28/why-we-need-Apache-APISIX/index.html      |  8 ++++----
 zh/blog/2021/06/29/release-apache-apisix-2.7/index.html      |  8 ++++----
 .../06/30/etcd3-support-HTTP-access-perfectly/index.html     |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/blog/2021/07/21/Apache-APISIX-Kubernetes/index.html       |  8 ++++----
 zh/blog/2021/07/25/apachecon-asia/index.html                 |  8 ++++----
 .../use-of-plugin-orchestration-in-Apache-APISIX/index.html  |  8 ++++----
 zh/blog/2021/07/28/release-apache-apisix-2.8/index.html      |  8 ++++----
 zh/blog/2021/08/05/Kong-to-APISIX/index.html                 |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html     |  8 ++++----
 zh/blog/2021/08/09/Apache-APISIX-in-Quliankeji/index.html    |  8 ++++----
 zh/blog/2021/08/10/apisix-nginx/index.html                   |  8 ++++----
 zh/blog/2021/08/11/interview-TuZhengsong/index.html          |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/blog/2021/08/17/interview-airwallex/index.html            |  8 ++++----
 .../2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html  |  8 ++++----
 zh/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html  |  8 ++++----
 zh/blog/2021/08/19/weekly-report/index.html                  |  8 ++++----
 zh/blog/2021/08/21/shanghai-meetup/index.html                |  8 ++++----
 zh/blog/2021/08/23/ApacheCon-Asia-2021/index.html            |  8 ++++----
 zh/blog/2021/08/23/weekly-report/index.html                  |  8 ++++----
 zh/blog/2021/08/24/shanghai-meetup-recap/index.html          |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../08/25/Why-Apache-APISIX-chose-Nginx-and-Lua/index.html   |  8 ++++----
 zh/blog/2021/08/27/release-apache-apisix-2.9-en/index.html   |  8 ++++----
 zh/blog/2021/08/27/release-apache-apisix-2.9/index.html      |  8 ++++----
 zh/blog/2021/08/30/Ingress-Meeting/index.html                |  8 ++++----
 zh/blog/2021/08/30/weekly-report/index.html                  |  8 ++++----
 .../index.html"                                              |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/blog/2021/09/07/how-to-use-apisix-auth/index.html         |  8 ++++----
 zh/blog/2021/09/07/iQIYI-usercase/index.html                 |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/blog/2021/09/13/china-mobile-cloud-usercase/index.html    |  8 ++++----
 zh/blog/2021/09/14/youzan/index.html                         |  8 ++++----
 zh/blog/2021/09/15/weekly-report/index.html                  |  8 ++++----
 zh/blog/2021/09/16/tencent-cloud/index.html                  |  8 ++++----
 zh/blog/2021/09/18/xiaodian-usercase/index.html              |  8 ++++----
 zh/blog/2021/09/24/youpaicloud-usercase/index.html           |  8 ++++----
 zh/blog/2021/09/28/WPS-usercase/index.html                   |  8 ++++----
 zh/blog/2021/09/29/release-apache-apisix-2.10-en/index.html  |  8 ++++----
 zh/blog/2021/09/29/release-apache-apisix-2.10/index.html     |  8 ++++----
 zh/blog/2021/09/30/weekly-report/index.html                  |  8 ++++----
 zh/blog/2021/10/01/openEuler/index.html                      |  8 ++++----
 zh/blog/archive/index.html                                   |  8 ++++----
 zh/blog/index.html                                           |  8 ++++----
 zh/blog/page/2/index.html                                    |  8 ++++----
 zh/blog/page/3/index.html                                    |  8 ++++----
 zh/blog/page/4/index.html                                    |  8 ++++----
 zh/blog/page/5/index.html                                    |  8 ++++----
 zh/blog/page/6/index.html                                    |  8 ++++----
 zh/blog/tags/community/index.html                            |  8 ++++----
 zh/blog/tags/events/index.html                               |  8 ++++----
 zh/blog/tags/index.html                                      |  8 ++++----
 zh/blog/tags/interview/index.html                            |  8 ++++----
 zh/blog/tags/practical-case/index.html                       |  8 ++++----
 zh/blog/tags/release/index.html                              |  8 ++++----
 zh/blog/tags/security/index.html                             |  8 ++++----
 zh/blog/tags/technology/index.html                           |  8 ++++----
 zh/blog/tags/user-case/index.html                            |  8 ++++----
 zh/docs/apisix/2.10.0/FAQ/index.html                         |  8 ++++----
 zh/docs/apisix/2.10.0/IGNORE_DOC/index.html                  |  8 ++++----
 zh/docs/apisix/2.10.0/admin-api/index.html                   |  8 ++++----
 zh/docs/apisix/2.10.0/architecture-design/apisix/index.html  |  8 ++++----
 .../apisix/2.10.0/architecture-design/consumer/index.html    |  8 ++++----
 .../apisix/2.10.0/architecture-design/debug-mode/index.html  |  8 ++++----
 .../apisix/2.10.0/architecture-design/global-rule/index.html |  8 ++++----
 .../2.10.0/architecture-design/plugin-config/index.html      |  8 ++++----
 zh/docs/apisix/2.10.0/architecture-design/plugin/index.html  |  8 ++++----
 zh/docs/apisix/2.10.0/architecture-design/route/index.html   |  8 ++++----
 zh/docs/apisix/2.10.0/architecture-design/router/index.html  |  8 ++++----
 zh/docs/apisix/2.10.0/architecture-design/script/index.html  |  8 ++++----
 zh/docs/apisix/2.10.0/architecture-design/service/index.html |  8 ++++----
 .../apisix/2.10.0/architecture-design/upstream/index.html    |  8 ++++----
 zh/docs/apisix/2.10.0/aws/index.html                         |  8 ++++----
 zh/docs/apisix/2.10.0/batch-processor/index.html             |  8 ++++----
 zh/docs/apisix/2.10.0/benchmark/index.html                   |  8 ++++----
 zh/docs/apisix/2.10.0/certificate/index.html                 |  8 ++++----
 zh/docs/apisix/2.10.0/control-api/index.html                 |  8 ++++----
 .../apisix/2.10.0/customize-nginx-configuration/index.html   |  8 ++++----
 zh/docs/apisix/2.10.0/debug-function/index.html              |  8 ++++----
 zh/docs/apisix/2.10.0/discovery/consul_kv/index.html         |  8 ++++----
 zh/docs/apisix/2.10.0/discovery/dns/index.html               |  8 ++++----
 zh/docs/apisix/2.10.0/discovery/eureka/index.html            |  8 ++++----
 zh/docs/apisix/2.10.0/discovery/index.html                   |  8 ++++----
 zh/docs/apisix/2.10.0/discovery/nacos/index.html             |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html |  8 ++++----
 zh/docs/apisix/2.10.0/external-plugin/index.html             |  8 ++++----
 zh/docs/apisix/2.10.0/getting-started/index.html             |  8 ++++----
 zh/docs/apisix/2.10.0/grpc-proxy/index.html                  |  8 ++++----
 zh/docs/apisix/2.10.0/health-check/index.html                |  8 ++++----
 zh/docs/apisix/2.10.0/how-to-build/index.html                |  8 ++++----
 zh/docs/apisix/2.10.0/install-dependencies/index.html        |  8 ++++----
 zh/docs/apisix/2.10.0/internal/testing-framework/index.html  |  8 ++++----
 zh/docs/apisix/2.10.0/mtls/index.html                        |  8 ++++----
 zh/docs/apisix/2.10.0/plugin-develop/index.html              |  8 ++++----
 zh/docs/apisix/2.10.0/plugin-interceptors/index.html         |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/api-breaker/index.html         |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/authz-casbin/index.html        |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/authz-keycloak/index.html      |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/basic-auth/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/batch-requests/index.html      |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/client-control/index.html      |  8 ++++----
 .../apisix/2.10.0/plugins/consumer-restriction/index.html    |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/cors/index.html                |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/dubbo-proxy/index.html         |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/echo/index.html                |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/error-log-logger/index.html    |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/ext-plugin-post-req/index.html |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/ext-plugin-pre-req/index.html  |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/fault-injection/index.html     |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/grpc-transcode/index.html      |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/gzip/index.html                |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/hmac-auth/index.html           |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/http-logger/index.html         |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/ip-restriction/index.html      |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/jwt-auth/index.html            |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/kafka-logger/index.html        |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/key-auth/index.html            |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/limit-conn/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/limit-count/index.html         |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/limit-req/index.html           |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/log-rotate/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/mqtt-proxy/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/node-status/index.html         |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/openid-connect/index.html      |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/prometheus/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/proxy-cache/index.html         |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/proxy-mirror/index.html        |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/proxy-rewrite/index.html       |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/real-ip/index.html             |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/redirect/index.html            |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/referer-restriction/index.html |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/request-id/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/request-validation/index.html  |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/response-rewrite/index.html    |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/server-info/index.html         |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/serverless/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/skywalking/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/sls-logger/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/syslog/index.html              |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/tcp-logger/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/traffic-split/index.html       |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/ua-restriction/index.html      |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/udp-logger/index.html          |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/uri-blocker/index.html         |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/wolf-rbac/index.html           |  8 ++++----
 zh/docs/apisix/2.10.0/plugins/zipkin/index.html              |  8 ++++----
 zh/docs/apisix/2.10.0/profile/index.html                     |  8 ++++----
 zh/docs/apisix/2.10.0/router-radixtree/index.html            |  8 ++++----
 zh/docs/apisix/2.10.0/stand-alone/index.html                 |  8 ++++----
 zh/docs/apisix/2.10.0/stream-proxy/index.html                |  8 ++++----
 zh/docs/apisix/2.10.0/tags/index.html                        |  8 ++++----
 zh/docs/apisix/2.4/FAQ/index.html                            |  8 ++++----
 zh/docs/apisix/2.4/IGNORE_DOC/index.html                     |  8 ++++----
 zh/docs/apisix/2.4/admin-api/index.html                      |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/apisix/index.html     |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/consumer/index.html   |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/debug-mode/index.html |  8 ++++----
 .../apisix/2.4/architecture-design/global-rule/index.html    |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/index.html            |  8 ++++----
 .../apisix/2.4/architecture-design/plugin-config/index.html  |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/plugin/index.html     |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/route/index.html      |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/router/index.html     |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/script/index.html     |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/service/index.html    |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/upstream/index.html   |  8 ++++----
 zh/docs/apisix/2.4/aws/index.html                            |  8 ++++----
 zh/docs/apisix/2.4/batch-processor/index.html                |  8 ++++----
 zh/docs/apisix/2.4/benchmark/index.html                      |  8 ++++----
 zh/docs/apisix/2.4/certificate/index.html                    |  8 ++++----
 zh/docs/apisix/2.4/control-api/index.html                    |  8 ++++----
 zh/docs/apisix/2.4/customize-nginx-configuration/index.html  |  8 ++++----
 zh/docs/apisix/2.4/debug-function/index.html                 |  8 ++++----
 zh/docs/apisix/2.4/discovery/consul_kv/index.html            |  8 ++++----
 zh/docs/apisix/2.4/discovery/dns/index.html                  |  8 ++++----
 zh/docs/apisix/2.4/discovery/eureka/index.html               |  8 ++++----
 zh/docs/apisix/2.4/discovery/index.html                      |  8 ++++----
 zh/docs/apisix/2.4/discovery/nacos/index.html                |  8 ++++----
 zh/docs/apisix/2.4/dns/index.html                            |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html |  8 ++++----
 zh/docs/apisix/2.4/external-plugin/index.html                |  8 ++++----
 zh/docs/apisix/2.4/getting-started/index.html                |  8 ++++----
 zh/docs/apisix/2.4/grpc-proxy/index.html                     |  8 ++++----
 zh/docs/apisix/2.4/health-check/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/how-to-build/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/https/index.html                          |  8 ++++----
 zh/docs/apisix/2.4/install-dependencies/index.html           |  8 ++++----
 zh/docs/apisix/2.4/internal/testing-framework/index.html     |  8 ++++----
 zh/docs/apisix/2.4/mtls/index.html                           |  8 ++++----
 zh/docs/apisix/2.4/plugin-develop/index.html                 |  8 ++++----
 zh/docs/apisix/2.4/plugin-interceptors/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/api-breaker/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/authz-casbin/index.html           |  8 ++++----
 zh/docs/apisix/2.4/plugins/authz-keycloak/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugins/basic-auth/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/batch-requests/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugins/client-control/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugins/consumer-restriction/index.html   |  8 ++++----
 zh/docs/apisix/2.4/plugins/cors/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/plugins/dubbo-proxy/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/echo/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/plugins/error-log-logger/index.html       |  8 ++++----
 zh/docs/apisix/2.4/plugins/ext-plugin-post-req/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/ext-plugin-pre-req/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/fault-injection/index.html        |  8 ++++----
 zh/docs/apisix/2.4/plugins/grpc-transcode/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugins/gzip/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/plugins/hmac-auth/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/http-logger/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/index.html                        |  8 ++++----
 zh/docs/apisix/2.4/plugins/ip-restriction/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugins/jwt-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/kafka-logger/index.html           |  8 ++++----
 zh/docs/apisix/2.4/plugins/key-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/limit-conn/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/limit-count/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/limit-req/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/log-rotate/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/mqtt-proxy/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/node-status/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/openid-connect/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugins/prometheus/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/proxy-cache/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/proxy-mirror/index.html           |  8 ++++----
 zh/docs/apisix/2.4/plugins/proxy-rewrite/index.html          |  8 ++++----
 zh/docs/apisix/2.4/plugins/real-ip/index.html                |  8 ++++----
 zh/docs/apisix/2.4/plugins/redirect/index.html               |  8 ++++----
 zh/docs/apisix/2.4/plugins/referer-restriction/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/request-id/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/request-validation/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/response-rewrite/index.html       |  8 ++++----
 zh/docs/apisix/2.4/plugins/server-info/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/serverless/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/skywalking/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/sls-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/syslog/index.html                 |  8 ++++----
 zh/docs/apisix/2.4/plugins/tcp-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/traffic-split/index.html          |  8 ++++----
 zh/docs/apisix/2.4/plugins/ua-restriction/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugins/udp-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.4/plugins/uri-blocker/index.html            |  8 ++++----
 zh/docs/apisix/2.4/plugins/wolf-rbac/index.html              |  8 ++++----
 zh/docs/apisix/2.4/plugins/zipkin/index.html                 |  8 ++++----
 zh/docs/apisix/2.4/powered-by/index.html                     |  8 ++++----
 zh/docs/apisix/2.4/profile/index.html                        |  8 ++++----
 zh/docs/apisix/2.4/router-radixtree/index.html               |  8 ++++----
 zh/docs/apisix/2.4/stand-alone/index.html                    |  8 ++++----
 zh/docs/apisix/2.4/stream-proxy/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/tags/index.html                           |  8 ++++----
 zh/docs/apisix/2.5/FAQ/index.html                            |  8 ++++----
 zh/docs/apisix/2.5/IGNORE_DOC/index.html                     |  8 ++++----
 zh/docs/apisix/2.5/admin-api/index.html                      |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/apisix/index.html     |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/consumer/index.html   |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/debug-mode/index.html |  8 ++++----
 .../apisix/2.5/architecture-design/global-rule/index.html    |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/index.html            |  8 ++++----
 .../apisix/2.5/architecture-design/plugin-config/index.html  |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/plugin/index.html     |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/route/index.html      |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/router/index.html     |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/script/index.html     |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/service/index.html    |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/upstream/index.html   |  8 ++++----
 zh/docs/apisix/2.5/aws/index.html                            |  8 ++++----
 zh/docs/apisix/2.5/batch-processor/index.html                |  8 ++++----
 zh/docs/apisix/2.5/benchmark/index.html                      |  8 ++++----
 zh/docs/apisix/2.5/certificate/index.html                    |  8 ++++----
 zh/docs/apisix/2.5/control-api/index.html                    |  8 ++++----
 zh/docs/apisix/2.5/customize-nginx-configuration/index.html  |  8 ++++----
 zh/docs/apisix/2.5/debug-function/index.html                 |  8 ++++----
 zh/docs/apisix/2.5/discovery/consul_kv/index.html            |  8 ++++----
 zh/docs/apisix/2.5/discovery/dns/index.html                  |  8 ++++----
 zh/docs/apisix/2.5/discovery/eureka/index.html               |  8 ++++----
 zh/docs/apisix/2.5/discovery/index.html                      |  8 ++++----
 zh/docs/apisix/2.5/discovery/nacos/index.html                |  8 ++++----
 zh/docs/apisix/2.5/dns/index.html                            |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html |  8 ++++----
 zh/docs/apisix/2.5/external-plugin/index.html                |  8 ++++----
 zh/docs/apisix/2.5/getting-started/index.html                |  8 ++++----
 zh/docs/apisix/2.5/grpc-proxy/index.html                     |  8 ++++----
 zh/docs/apisix/2.5/health-check/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/how-to-build/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/https/index.html                          |  8 ++++----
 zh/docs/apisix/2.5/install-dependencies/index.html           |  8 ++++----
 zh/docs/apisix/2.5/internal/testing-framework/index.html     |  8 ++++----
 zh/docs/apisix/2.5/mtls/index.html                           |  8 ++++----
 zh/docs/apisix/2.5/plugin-develop/index.html                 |  8 ++++----
 zh/docs/apisix/2.5/plugin-interceptors/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/api-breaker/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/authz-casbin/index.html           |  8 ++++----
 zh/docs/apisix/2.5/plugins/authz-keycloak/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugins/basic-auth/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/batch-requests/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugins/client-control/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugins/consumer-restriction/index.html   |  8 ++++----
 zh/docs/apisix/2.5/plugins/cors/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/plugins/dubbo-proxy/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/echo/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/plugins/error-log-logger/index.html       |  8 ++++----
 zh/docs/apisix/2.5/plugins/ext-plugin-post-req/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/ext-plugin-pre-req/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/fault-injection/index.html        |  8 ++++----
 zh/docs/apisix/2.5/plugins/grpc-transcode/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugins/gzip/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/plugins/hmac-auth/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/http-logger/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/index.html                        |  8 ++++----
 zh/docs/apisix/2.5/plugins/ip-restriction/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugins/jwt-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/kafka-logger/index.html           |  8 ++++----
 zh/docs/apisix/2.5/plugins/key-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/limit-conn/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/limit-count/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/limit-req/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/log-rotate/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/mqtt-proxy/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/node-status/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/openid-connect/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugins/prometheus/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/proxy-cache/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/proxy-mirror/index.html           |  8 ++++----
 zh/docs/apisix/2.5/plugins/proxy-rewrite/index.html          |  8 ++++----
 zh/docs/apisix/2.5/plugins/real-ip/index.html                |  8 ++++----
 zh/docs/apisix/2.5/plugins/redirect/index.html               |  8 ++++----
 zh/docs/apisix/2.5/plugins/referer-restriction/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/request-id/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/request-validation/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/response-rewrite/index.html       |  8 ++++----
 zh/docs/apisix/2.5/plugins/server-info/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/serverless/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/skywalking/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/sls-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/syslog/index.html                 |  8 ++++----
 zh/docs/apisix/2.5/plugins/tcp-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/traffic-split/index.html          |  8 ++++----
 zh/docs/apisix/2.5/plugins/ua-restriction/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugins/udp-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.5/plugins/uri-blocker/index.html            |  8 ++++----
 zh/docs/apisix/2.5/plugins/wolf-rbac/index.html              |  8 ++++----
 zh/docs/apisix/2.5/plugins/zipkin/index.html                 |  8 ++++----
 zh/docs/apisix/2.5/powered-by/index.html                     |  8 ++++----
 zh/docs/apisix/2.5/profile/index.html                        |  8 ++++----
 zh/docs/apisix/2.5/router-radixtree/index.html               |  8 ++++----
 zh/docs/apisix/2.5/stand-alone/index.html                    |  8 ++++----
 zh/docs/apisix/2.5/stream-proxy/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/tags/index.html                           |  8 ++++----
 zh/docs/apisix/2.6/FAQ/index.html                            |  8 ++++----
 zh/docs/apisix/2.6/IGNORE_DOC/index.html                     |  8 ++++----
 zh/docs/apisix/2.6/admin-api/index.html                      |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/apisix/index.html     |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/consumer/index.html   |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/debug-mode/index.html |  8 ++++----
 .../apisix/2.6/architecture-design/global-rule/index.html    |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/index.html            |  8 ++++----
 .../apisix/2.6/architecture-design/plugin-config/index.html  |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/plugin/index.html     |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/route/index.html      |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/router/index.html     |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/script/index.html     |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/service/index.html    |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/upstream/index.html   |  8 ++++----
 zh/docs/apisix/2.6/aws/index.html                            |  8 ++++----
 zh/docs/apisix/2.6/batch-processor/index.html                |  8 ++++----
 zh/docs/apisix/2.6/benchmark/index.html                      |  8 ++++----
 zh/docs/apisix/2.6/certificate/index.html                    |  8 ++++----
 zh/docs/apisix/2.6/control-api/index.html                    |  8 ++++----
 zh/docs/apisix/2.6/customize-nginx-configuration/index.html  |  8 ++++----
 zh/docs/apisix/2.6/debug-function/index.html                 |  8 ++++----
 zh/docs/apisix/2.6/discovery/consul_kv/index.html            |  8 ++++----
 zh/docs/apisix/2.6/discovery/dns/index.html                  |  8 ++++----
 zh/docs/apisix/2.6/discovery/eureka/index.html               |  8 ++++----
 zh/docs/apisix/2.6/discovery/index.html                      |  8 ++++----
 zh/docs/apisix/2.6/discovery/nacos/index.html                |  8 ++++----
 zh/docs/apisix/2.6/dns/index.html                            |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html |  8 ++++----
 zh/docs/apisix/2.6/external-plugin/index.html                |  8 ++++----
 zh/docs/apisix/2.6/getting-started/index.html                |  8 ++++----
 zh/docs/apisix/2.6/grpc-proxy/index.html                     |  8 ++++----
 zh/docs/apisix/2.6/health-check/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/how-to-build/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/https/index.html                          |  8 ++++----
 zh/docs/apisix/2.6/install-dependencies/index.html           |  8 ++++----
 zh/docs/apisix/2.6/internal/testing-framework/index.html     |  8 ++++----
 zh/docs/apisix/2.6/mtls/index.html                           |  8 ++++----
 zh/docs/apisix/2.6/plugin-develop/index.html                 |  8 ++++----
 zh/docs/apisix/2.6/plugin-interceptors/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/api-breaker/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/authz-casbin/index.html           |  8 ++++----
 zh/docs/apisix/2.6/plugins/authz-keycloak/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugins/basic-auth/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/batch-requests/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugins/client-control/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugins/consumer-restriction/index.html   |  8 ++++----
 zh/docs/apisix/2.6/plugins/cors/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/plugins/dubbo-proxy/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/echo/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/plugins/error-log-logger/index.html       |  8 ++++----
 zh/docs/apisix/2.6/plugins/ext-plugin-post-req/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/ext-plugin-pre-req/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/fault-injection/index.html        |  8 ++++----
 zh/docs/apisix/2.6/plugins/grpc-transcode/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugins/gzip/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/plugins/hmac-auth/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/http-logger/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/index.html                        |  8 ++++----
 zh/docs/apisix/2.6/plugins/ip-restriction/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugins/jwt-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/kafka-logger/index.html           |  8 ++++----
 zh/docs/apisix/2.6/plugins/key-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/limit-conn/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/limit-count/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/limit-req/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/log-rotate/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/mqtt-proxy/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/node-status/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/openid-connect/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugins/prometheus/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/proxy-cache/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/proxy-mirror/index.html           |  8 ++++----
 zh/docs/apisix/2.6/plugins/proxy-rewrite/index.html          |  8 ++++----
 zh/docs/apisix/2.6/plugins/real-ip/index.html                |  8 ++++----
 zh/docs/apisix/2.6/plugins/redirect/index.html               |  8 ++++----
 zh/docs/apisix/2.6/plugins/referer-restriction/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/request-id/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/request-validation/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/response-rewrite/index.html       |  8 ++++----
 zh/docs/apisix/2.6/plugins/server-info/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/serverless/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/skywalking/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/sls-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/syslog/index.html                 |  8 ++++----
 zh/docs/apisix/2.6/plugins/tcp-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/traffic-split/index.html          |  8 ++++----
 zh/docs/apisix/2.6/plugins/ua-restriction/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugins/udp-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.6/plugins/uri-blocker/index.html            |  8 ++++----
 zh/docs/apisix/2.6/plugins/wolf-rbac/index.html              |  8 ++++----
 zh/docs/apisix/2.6/plugins/zipkin/index.html                 |  8 ++++----
 zh/docs/apisix/2.6/powered-by/index.html                     |  8 ++++----
 zh/docs/apisix/2.6/profile/index.html                        |  8 ++++----
 zh/docs/apisix/2.6/router-radixtree/index.html               |  8 ++++----
 zh/docs/apisix/2.6/stand-alone/index.html                    |  8 ++++----
 zh/docs/apisix/2.6/stream-proxy/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/tags/index.html                           |  8 ++++----
 zh/docs/apisix/2.7/FAQ/index.html                            |  8 ++++----
 zh/docs/apisix/2.7/IGNORE_DOC/index.html                     |  8 ++++----
 zh/docs/apisix/2.7/admin-api/index.html                      |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/apisix/index.html     |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/consumer/index.html   |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/debug-mode/index.html |  8 ++++----
 .../apisix/2.7/architecture-design/global-rule/index.html    |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/index.html            |  8 ++++----
 .../apisix/2.7/architecture-design/plugin-config/index.html  |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/plugin/index.html     |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/route/index.html      |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/router/index.html     |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/script/index.html     |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/service/index.html    |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/upstream/index.html   |  8 ++++----
 zh/docs/apisix/2.7/aws/index.html                            |  8 ++++----
 zh/docs/apisix/2.7/batch-processor/index.html                |  8 ++++----
 zh/docs/apisix/2.7/benchmark/index.html                      |  8 ++++----
 zh/docs/apisix/2.7/certificate/index.html                    |  8 ++++----
 zh/docs/apisix/2.7/control-api/index.html                    |  8 ++++----
 zh/docs/apisix/2.7/customize-nginx-configuration/index.html  |  8 ++++----
 zh/docs/apisix/2.7/debug-function/index.html                 |  8 ++++----
 zh/docs/apisix/2.7/discovery/consul_kv/index.html            |  8 ++++----
 zh/docs/apisix/2.7/discovery/dns/index.html                  |  8 ++++----
 zh/docs/apisix/2.7/discovery/eureka/index.html               |  8 ++++----
 zh/docs/apisix/2.7/discovery/index.html                      |  8 ++++----
 zh/docs/apisix/2.7/discovery/nacos/index.html                |  8 ++++----
 zh/docs/apisix/2.7/dns/index.html                            |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html |  8 ++++----
 zh/docs/apisix/2.7/external-plugin/index.html                |  8 ++++----
 zh/docs/apisix/2.7/getting-started/index.html                |  8 ++++----
 zh/docs/apisix/2.7/grpc-proxy/index.html                     |  8 ++++----
 zh/docs/apisix/2.7/health-check/index.html                   |  8 ++++----
 zh/docs/apisix/2.7/how-to-build/index.html                   |  8 ++++----
 zh/docs/apisix/2.7/https/index.html                          |  8 ++++----
 zh/docs/apisix/2.7/install-dependencies/index.html           |  8 ++++----
 zh/docs/apisix/2.7/internal/testing-framework/index.html     |  8 ++++----
 zh/docs/apisix/2.7/mtls/index.html                           |  8 ++++----
 zh/docs/apisix/2.7/plugin-develop/index.html                 |  8 ++++----
 zh/docs/apisix/2.7/plugin-interceptors/index.html            |  8 ++++----
 zh/docs/apisix/2.7/plugins/api-breaker/index.html            |  8 ++++----
 zh/docs/apisix/2.7/plugins/authz-casbin/index.html           |  8 ++++----
 zh/docs/apisix/2.7/plugins/authz-keycloak/index.html         |  8 ++++----
 zh/docs/apisix/2.7/plugins/basic-auth/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/batch-requests/index.html         |  8 ++++----
 zh/docs/apisix/2.7/plugins/client-control/index.html         |  8 ++++----
 zh/docs/apisix/2.7/plugins/consumer-restriction/index.html   |  8 ++++----
 zh/docs/apisix/2.7/plugins/cors/index.html                   |  8 ++++----
 zh/docs/apisix/2.7/plugins/dubbo-proxy/index.html            |  8 ++++----
 zh/docs/apisix/2.7/plugins/echo/index.html                   |  8 ++++----
 zh/docs/apisix/2.7/plugins/error-log-logger/index.html       |  8 ++++----
 zh/docs/apisix/2.7/plugins/ext-plugin-post-req/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/ext-plugin-pre-req/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/fault-injection/index.html        |  8 ++++----
 zh/docs/apisix/2.7/plugins/grpc-transcode/index.html         |  8 ++++----
 zh/docs/apisix/2.7/plugins/gzip/index.html                   |  8 ++++----
 zh/docs/apisix/2.7/plugins/hmac-auth/index.html              |  8 ++++----
 zh/docs/apisix/2.7/plugins/http-logger/index.html            |  8 ++++----
 zh/docs/apisix/2.7/plugins/index.html                        |  8 ++++----
 zh/docs/apisix/2.7/plugins/ip-restriction/index.html         |  8 ++++----
 zh/docs/apisix/2.7/plugins/jwt-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.7/plugins/kafka-logger/index.html           |  8 ++++----
 zh/docs/apisix/2.7/plugins/key-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.7/plugins/limit-conn/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/limit-count/index.html            |  8 ++++----
 zh/docs/apisix/2.7/plugins/limit-req/index.html              |  8 ++++----
 zh/docs/apisix/2.7/plugins/log-rotate/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/mqtt-proxy/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/node-status/index.html            |  8 ++++----
 zh/docs/apisix/2.7/plugins/openid-connect/index.html         |  8 ++++----
 zh/docs/apisix/2.7/plugins/prometheus/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/proxy-cache/index.html            |  8 ++++----
 zh/docs/apisix/2.7/plugins/proxy-mirror/index.html           |  8 ++++----
 zh/docs/apisix/2.7/plugins/proxy-rewrite/index.html          |  8 ++++----
 zh/docs/apisix/2.7/plugins/real-ip/index.html                |  8 ++++----
 zh/docs/apisix/2.7/plugins/redirect/index.html               |  8 ++++----
 zh/docs/apisix/2.7/plugins/referer-restriction/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/request-id/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/request-validation/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/response-rewrite/index.html       |  8 ++++----
 zh/docs/apisix/2.7/plugins/server-info/index.html            |  8 ++++----
 zh/docs/apisix/2.7/plugins/serverless/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/skywalking/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/sls-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/syslog/index.html                 |  8 ++++----
 zh/docs/apisix/2.7/plugins/tcp-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/traffic-split/index.html          |  8 ++++----
 zh/docs/apisix/2.7/plugins/ua-restriction/index.html         |  8 ++++----
 zh/docs/apisix/2.7/plugins/udp-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.7/plugins/uri-blocker/index.html            |  8 ++++----
 zh/docs/apisix/2.7/plugins/wolf-rbac/index.html              |  8 ++++----
 zh/docs/apisix/2.7/plugins/zipkin/index.html                 |  8 ++++----
 zh/docs/apisix/2.7/powered-by/index.html                     |  8 ++++----
 zh/docs/apisix/2.7/profile/index.html                        |  8 ++++----
 zh/docs/apisix/2.7/router-radixtree/index.html               |  8 ++++----
 zh/docs/apisix/2.7/stand-alone/index.html                    |  8 ++++----
 zh/docs/apisix/2.7/stream-proxy/index.html                   |  8 ++++----
 zh/docs/apisix/2.7/tags/index.html                           |  8 ++++----
 zh/docs/apisix/2.8/FAQ/index.html                            |  8 ++++----
 zh/docs/apisix/2.8/IGNORE_DOC/index.html                     |  8 ++++----
 zh/docs/apisix/2.8/admin-api/index.html                      |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/apisix/index.html     |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/consumer/index.html   |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/debug-mode/index.html |  8 ++++----
 .../apisix/2.8/architecture-design/global-rule/index.html    |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/index.html            |  8 ++++----
 .../apisix/2.8/architecture-design/plugin-config/index.html  |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/plugin/index.html     |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/route/index.html      |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/router/index.html     |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/script/index.html     |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/service/index.html    |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/upstream/index.html   |  8 ++++----
 zh/docs/apisix/2.8/aws/index.html                            |  8 ++++----
 zh/docs/apisix/2.8/batch-processor/index.html                |  8 ++++----
 zh/docs/apisix/2.8/benchmark/index.html                      |  8 ++++----
 zh/docs/apisix/2.8/certificate/index.html                    |  8 ++++----
 zh/docs/apisix/2.8/control-api/index.html                    |  8 ++++----
 zh/docs/apisix/2.8/customize-nginx-configuration/index.html  |  8 ++++----
 zh/docs/apisix/2.8/debug-function/index.html                 |  8 ++++----
 zh/docs/apisix/2.8/discovery/consul_kv/index.html            |  8 ++++----
 zh/docs/apisix/2.8/discovery/dns/index.html                  |  8 ++++----
 zh/docs/apisix/2.8/discovery/eureka/index.html               |  8 ++++----
 zh/docs/apisix/2.8/discovery/index.html                      |  8 ++++----
 zh/docs/apisix/2.8/discovery/nacos/index.html                |  8 ++++----
 zh/docs/apisix/2.8/dns/index.html                            |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html |  8 ++++----
 zh/docs/apisix/2.8/external-plugin/index.html                |  8 ++++----
 zh/docs/apisix/2.8/getting-started/index.html                |  8 ++++----
 zh/docs/apisix/2.8/grpc-proxy/index.html                     |  8 ++++----
 zh/docs/apisix/2.8/health-check/index.html                   |  8 ++++----
 zh/docs/apisix/2.8/how-to-build/index.html                   |  8 ++++----
 zh/docs/apisix/2.8/https/index.html                          |  8 ++++----
 zh/docs/apisix/2.8/install-dependencies/index.html           |  8 ++++----
 zh/docs/apisix/2.8/internal/testing-framework/index.html     |  8 ++++----
 zh/docs/apisix/2.8/mtls/index.html                           |  8 ++++----
 zh/docs/apisix/2.8/plugin-develop/index.html                 |  8 ++++----
 zh/docs/apisix/2.8/plugin-interceptors/index.html            |  8 ++++----
 zh/docs/apisix/2.8/plugins/api-breaker/index.html            |  8 ++++----
 zh/docs/apisix/2.8/plugins/authz-casbin/index.html           |  8 ++++----
 zh/docs/apisix/2.8/plugins/authz-keycloak/index.html         |  8 ++++----
 zh/docs/apisix/2.8/plugins/basic-auth/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/batch-requests/index.html         |  8 ++++----
 zh/docs/apisix/2.8/plugins/client-control/index.html         |  8 ++++----
 zh/docs/apisix/2.8/plugins/consumer-restriction/index.html   |  8 ++++----
 zh/docs/apisix/2.8/plugins/cors/index.html                   |  8 ++++----
 zh/docs/apisix/2.8/plugins/dubbo-proxy/index.html            |  8 ++++----
 zh/docs/apisix/2.8/plugins/echo/index.html                   |  8 ++++----
 zh/docs/apisix/2.8/plugins/error-log-logger/index.html       |  8 ++++----
 zh/docs/apisix/2.8/plugins/ext-plugin-post-req/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/ext-plugin-pre-req/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/fault-injection/index.html        |  8 ++++----
 zh/docs/apisix/2.8/plugins/grpc-transcode/index.html         |  8 ++++----
 zh/docs/apisix/2.8/plugins/gzip/index.html                   |  8 ++++----
 zh/docs/apisix/2.8/plugins/hmac-auth/index.html              |  8 ++++----
 zh/docs/apisix/2.8/plugins/http-logger/index.html            |  8 ++++----
 zh/docs/apisix/2.8/plugins/index.html                        |  8 ++++----
 zh/docs/apisix/2.8/plugins/ip-restriction/index.html         |  8 ++++----
 zh/docs/apisix/2.8/plugins/jwt-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.8/plugins/kafka-logger/index.html           |  8 ++++----
 zh/docs/apisix/2.8/plugins/key-auth/index.html               |  8 ++++----
 zh/docs/apisix/2.8/plugins/limit-conn/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/limit-count/index.html            |  8 ++++----
 zh/docs/apisix/2.8/plugins/limit-req/index.html              |  8 ++++----
 zh/docs/apisix/2.8/plugins/log-rotate/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/mqtt-proxy/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/node-status/index.html            |  8 ++++----
 zh/docs/apisix/2.8/plugins/openid-connect/index.html         |  8 ++++----
 zh/docs/apisix/2.8/plugins/prometheus/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/proxy-cache/index.html            |  8 ++++----
 zh/docs/apisix/2.8/plugins/proxy-mirror/index.html           |  8 ++++----
 zh/docs/apisix/2.8/plugins/proxy-rewrite/index.html          |  8 ++++----
 zh/docs/apisix/2.8/plugins/real-ip/index.html                |  8 ++++----
 zh/docs/apisix/2.8/plugins/redirect/index.html               |  8 ++++----
 zh/docs/apisix/2.8/plugins/referer-restriction/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/request-id/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/request-validation/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/response-rewrite/index.html       |  8 ++++----
 zh/docs/apisix/2.8/plugins/server-info/index.html            |  8 ++++----
 zh/docs/apisix/2.8/plugins/serverless/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/skywalking/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/sls-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/syslog/index.html                 |  8 ++++----
 zh/docs/apisix/2.8/plugins/tcp-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/traffic-split/index.html          |  8 ++++----
 zh/docs/apisix/2.8/plugins/ua-restriction/index.html         |  8 ++++----
 zh/docs/apisix/2.8/plugins/udp-logger/index.html             |  8 ++++----
 zh/docs/apisix/2.8/plugins/uri-blocker/index.html            |  8 ++++----
 zh/docs/apisix/2.8/plugins/wolf-rbac/index.html              |  8 ++++----
 zh/docs/apisix/2.8/plugins/zipkin/index.html                 |  8 ++++----
 zh/docs/apisix/2.8/powered-by/index.html                     |  8 ++++----
 zh/docs/apisix/2.8/profile/index.html                        |  8 ++++----
 zh/docs/apisix/2.8/router-radixtree/index.html               |  8 ++++----
 zh/docs/apisix/2.8/stand-alone/index.html                    |  8 ++++----
 zh/docs/apisix/2.8/stream-proxy/index.html                   |  8 ++++----
 zh/docs/apisix/2.8/tags/index.html                           |  8 ++++----
 zh/docs/apisix/FAQ/index.html                                |  8 ++++----
 zh/docs/apisix/IGNORE_DOC/index.html                         |  8 ++++----
 zh/docs/apisix/admin-api/index.html                          |  8 ++++----
 zh/docs/apisix/architecture-design/apisix/index.html         |  8 ++++----
 zh/docs/apisix/architecture-design/consumer/index.html       |  8 ++++----
 zh/docs/apisix/architecture-design/debug-mode/index.html     |  8 ++++----
 zh/docs/apisix/architecture-design/global-rule/index.html    |  8 ++++----
 zh/docs/apisix/architecture-design/index.html                |  8 ++++----
 zh/docs/apisix/architecture-design/plugin-config/index.html  |  8 ++++----
 zh/docs/apisix/architecture-design/plugin/index.html         |  8 ++++----
 zh/docs/apisix/architecture-design/route/index.html          |  8 ++++----
 zh/docs/apisix/architecture-design/router/index.html         |  8 ++++----
 zh/docs/apisix/architecture-design/script/index.html         |  8 ++++----
 zh/docs/apisix/architecture-design/service/index.html        |  8 ++++----
 zh/docs/apisix/architecture-design/upstream/index.html       |  8 ++++----
 zh/docs/apisix/aws/index.html                                |  8 ++++----
 zh/docs/apisix/batch-processor/index.html                    |  8 ++++----
 zh/docs/apisix/benchmark/index.html                          |  8 ++++----
 zh/docs/apisix/certificate/index.html                        |  8 ++++----
 zh/docs/apisix/control-api/index.html                        |  8 ++++----
 zh/docs/apisix/customize-nginx-configuration/index.html      |  8 ++++----
 zh/docs/apisix/debug-function/index.html                     |  8 ++++----
 zh/docs/apisix/discovery/consul_kv/index.html                |  8 ++++----
 zh/docs/apisix/discovery/dns/index.html                      |  8 ++++----
 zh/docs/apisix/discovery/eureka/index.html                   |  8 ++++----
 zh/docs/apisix/discovery/index.html                          |  8 ++++----
 zh/docs/apisix/discovery/nacos/index.html                    |  8 ++++----
 zh/docs/apisix/dns/index.html                                |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html |  8 ++++----
 zh/docs/apisix/external-plugin/index.html                    |  8 ++++----
 zh/docs/apisix/getting-started/index.html                    |  8 ++++----
 zh/docs/apisix/grpc-proxy/index.html                         |  8 ++++----
 zh/docs/apisix/health-check/index.html                       |  8 ++++----
 zh/docs/apisix/how-to-build/index.html                       |  8 ++++----
 zh/docs/apisix/https/index.html                              |  8 ++++----
 zh/docs/apisix/install-dependencies/index.html               |  8 ++++----
 zh/docs/apisix/internal/testing-framework/index.html         |  8 ++++----
 zh/docs/apisix/mtls/index.html                               |  8 ++++----
 zh/docs/apisix/next/FAQ/index.html                           |  8 ++++----
 zh/docs/apisix/next/IGNORE_DOC/index.html                    | 10 +++++-----
 zh/docs/apisix/next/admin-api/index.html                     |  8 ++++----
 zh/docs/apisix/next/architecture-design/apisix/index.html    |  8 ++++----
 zh/docs/apisix/next/architecture-design/consumer/index.html  |  8 ++++----
 .../apisix/next/architecture-design/debug-mode/index.html    |  8 ++++----
 .../apisix/next/architecture-design/global-rule/index.html   |  8 ++++----
 zh/docs/apisix/next/architecture-design/index.html           |  8 ++++----
 .../apisix/next/architecture-design/plugin-config/index.html |  8 ++++----
 zh/docs/apisix/next/architecture-design/plugin/index.html    |  8 ++++----
 zh/docs/apisix/next/architecture-design/route/index.html     |  8 ++++----
 zh/docs/apisix/next/architecture-design/router/index.html    |  8 ++++----
 zh/docs/apisix/next/architecture-design/script/index.html    |  8 ++++----
 zh/docs/apisix/next/architecture-design/service/index.html   |  8 ++++----
 zh/docs/apisix/next/architecture-design/upstream/index.html  |  8 ++++----
 zh/docs/apisix/next/aws/index.html                           |  8 ++++----
 zh/docs/apisix/next/batch-processor/index.html               |  8 ++++----
 zh/docs/apisix/next/benchmark/index.html                     |  8 ++++----
 zh/docs/apisix/next/certificate/index.html                   |  8 ++++----
 zh/docs/apisix/next/control-api/index.html                   |  8 ++++----
 zh/docs/apisix/next/customize-nginx-configuration/index.html |  8 ++++----
 zh/docs/apisix/next/debug-function/index.html                |  8 ++++----
 zh/docs/apisix/next/discovery/consul_kv/index.html           |  8 ++++----
 zh/docs/apisix/next/discovery/dns/index.html                 |  8 ++++----
 zh/docs/apisix/next/discovery/eureka/index.html              |  8 ++++----
 zh/docs/apisix/next/discovery/index.html                     |  8 ++++----
 zh/docs/apisix/next/discovery/nacos/index.html               |  8 ++++----
 zh/docs/apisix/next/dns/index.html                           |  8 ++++----
 .../examples/plugins-hmac-auth-generate-signature/index.html |  8 ++++----
 zh/docs/apisix/next/external-plugin/index.html               |  8 ++++----
 zh/docs/apisix/next/getting-started/index.html               |  8 ++++----
 zh/docs/apisix/next/grpc-proxy/index.html                    |  8 ++++----
 zh/docs/apisix/next/health-check/index.html                  |  8 ++++----
 zh/docs/apisix/next/how-to-build/index.html                  |  8 ++++----
 zh/docs/apisix/next/https/index.html                         |  8 ++++----
 zh/docs/apisix/next/install-dependencies/index.html          |  8 ++++----
 zh/docs/apisix/next/internal/testing-framework/index.html    |  8 ++++----
 zh/docs/apisix/next/mtls/index.html                          |  8 ++++----
 zh/docs/apisix/next/plugin-develop/index.html                |  8 ++++----
 zh/docs/apisix/next/plugin-interceptors/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/api-breaker/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/authz-casbin/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/authz-keycloak/index.html        |  8 ++++----
 zh/docs/apisix/next/plugins/basic-auth/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/batch-requests/index.html        |  8 ++++----
 zh/docs/apisix/next/plugins/client-control/index.html        |  8 ++++----
 zh/docs/apisix/next/plugins/consumer-restriction/index.html  |  8 ++++----
 zh/docs/apisix/next/plugins/cors/index.html                  |  8 ++++----
 zh/docs/apisix/next/plugins/dubbo-proxy/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/echo/index.html                  |  8 ++++----
 zh/docs/apisix/next/plugins/error-log-logger/index.html      |  8 ++++----
 zh/docs/apisix/next/plugins/ext-plugin-post-req/index.html   |  8 ++++----
 zh/docs/apisix/next/plugins/ext-plugin-pre-req/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/fault-injection/index.html       |  8 ++++----
 zh/docs/apisix/next/plugins/grpc-transcode/index.html        |  8 ++++----
 zh/docs/apisix/next/plugins/gzip/index.html                  |  8 ++++----
 zh/docs/apisix/next/plugins/hmac-auth/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/http-logger/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/index.html                       |  8 ++++----
 zh/docs/apisix/next/plugins/ip-restriction/index.html        |  8 ++++----
 zh/docs/apisix/next/plugins/jwt-auth/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/kafka-logger/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/key-auth/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/limit-conn/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/limit-count/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/limit-req/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/log-rotate/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/mqtt-proxy/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/node-status/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/openid-connect/index.html        |  8 ++++----
 zh/docs/apisix/next/plugins/prometheus/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/proxy-cache/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/proxy-mirror/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/proxy-rewrite/index.html         |  8 ++++----
 zh/docs/apisix/next/plugins/real-ip/index.html               |  8 ++++----
 zh/docs/apisix/next/plugins/redirect/index.html              |  8 ++++----
 zh/docs/apisix/next/plugins/referer-restriction/index.html   |  8 ++++----
 zh/docs/apisix/next/plugins/request-id/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/request-validation/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/response-rewrite/index.html      |  8 ++++----
 zh/docs/apisix/next/plugins/server-info/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/serverless/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/skywalking/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/sls-logger/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/syslog/index.html                |  8 ++++----
 zh/docs/apisix/next/plugins/tcp-logger/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/traffic-split/index.html         |  8 ++++----
 zh/docs/apisix/next/plugins/ua-restriction/index.html        |  8 ++++----
 zh/docs/apisix/next/plugins/udp-logger/index.html            |  8 ++++----
 zh/docs/apisix/next/plugins/uri-blocker/index.html           |  8 ++++----
 zh/docs/apisix/next/plugins/wolf-rbac/index.html             |  8 ++++----
 zh/docs/apisix/next/plugins/zipkin/index.html                |  8 ++++----
 zh/docs/apisix/next/powered-by/index.html                    |  8 ++++----
 zh/docs/apisix/next/profile/index.html                       |  8 ++++----
 zh/docs/apisix/next/router-radixtree/index.html              |  8 ++++----
 zh/docs/apisix/next/stand-alone/index.html                   |  8 ++++----
 zh/docs/apisix/next/stream-proxy/index.html                  |  8 ++++----
 zh/docs/apisix/next/tags/index.html                          |  8 ++++----
 zh/docs/apisix/plugin-develop/index.html                     |  8 ++++----
 zh/docs/apisix/plugin-interceptors/index.html                |  8 ++++----
 zh/docs/apisix/plugins/api-breaker/index.html                |  8 ++++----
 zh/docs/apisix/plugins/authz-casbin/index.html               |  8 ++++----
 zh/docs/apisix/plugins/authz-keycloak/index.html             |  8 ++++----
 zh/docs/apisix/plugins/basic-auth/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/batch-requests/index.html             |  8 ++++----
 zh/docs/apisix/plugins/client-control/index.html             |  8 ++++----
 zh/docs/apisix/plugins/consumer-restriction/index.html       |  8 ++++----
 zh/docs/apisix/plugins/cors/index.html                       |  8 ++++----
 zh/docs/apisix/plugins/dubbo-proxy/index.html                |  8 ++++----
 zh/docs/apisix/plugins/echo/index.html                       |  8 ++++----
 zh/docs/apisix/plugins/error-log-logger/index.html           |  8 ++++----
 zh/docs/apisix/plugins/ext-plugin-post-req/index.html        |  8 ++++----
 zh/docs/apisix/plugins/ext-plugin-pre-req/index.html         |  8 ++++----
 zh/docs/apisix/plugins/fault-injection/index.html            |  8 ++++----
 zh/docs/apisix/plugins/grpc-transcode/index.html             |  8 ++++----
 zh/docs/apisix/plugins/gzip/index.html                       |  8 ++++----
 zh/docs/apisix/plugins/hmac-auth/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/http-logger/index.html                |  8 ++++----
 zh/docs/apisix/plugins/index.html                            |  8 ++++----
 zh/docs/apisix/plugins/ip-restriction/index.html             |  8 ++++----
 zh/docs/apisix/plugins/jwt-auth/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/kafka-logger/index.html               |  8 ++++----
 zh/docs/apisix/plugins/key-auth/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/limit-conn/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/limit-count/index.html                |  8 ++++----
 zh/docs/apisix/plugins/limit-req/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/log-rotate/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/mqtt-proxy/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/node-status/index.html                |  8 ++++----
 zh/docs/apisix/plugins/openid-connect/index.html             |  8 ++++----
 zh/docs/apisix/plugins/prometheus/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/proxy-cache/index.html                |  8 ++++----
 zh/docs/apisix/plugins/proxy-mirror/index.html               |  8 ++++----
 zh/docs/apisix/plugins/proxy-rewrite/index.html              |  8 ++++----
 zh/docs/apisix/plugins/real-ip/index.html                    |  8 ++++----
 zh/docs/apisix/plugins/redirect/index.html                   |  8 ++++----
 zh/docs/apisix/plugins/referer-restriction/index.html        |  8 ++++----
 zh/docs/apisix/plugins/request-id/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/request-validation/index.html         |  8 ++++----
 zh/docs/apisix/plugins/response-rewrite/index.html           |  8 ++++----
 zh/docs/apisix/plugins/server-info/index.html                |  8 ++++----
 zh/docs/apisix/plugins/serverless/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/skywalking/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/sls-logger/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/syslog/index.html                     |  8 ++++----
 zh/docs/apisix/plugins/tcp-logger/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/traffic-split/index.html              |  8 ++++----
 zh/docs/apisix/plugins/ua-restriction/index.html             |  8 ++++----
 zh/docs/apisix/plugins/udp-logger/index.html                 |  8 ++++----
 zh/docs/apisix/plugins/uri-blocker/index.html                |  8 ++++----
 zh/docs/apisix/plugins/wolf-rbac/index.html                  |  8 ++++----
 zh/docs/apisix/plugins/zipkin/index.html                     |  8 ++++----
 zh/docs/apisix/powered-by/index.html                         |  8 ++++----
 zh/docs/apisix/profile/index.html                            |  8 ++++----
 zh/docs/apisix/router-radixtree/index.html                   |  8 ++++----
 zh/docs/apisix/stand-alone/index.html                        |  8 ++++----
 zh/docs/apisix/stream-proxy/index.html                       |  8 ++++----
 zh/docs/apisix/tags/index.html                               |  8 ++++----
 zh/docs/dashboard/2.5/FAQ/index.html                         |  8 ++++----
 zh/docs/dashboard/2.5/I18N_USER_GUIDE/index.html             |  8 ++++----
 zh/docs/dashboard/2.5/IGNORE_DOC/index.html                  |  8 ++++----
 zh/docs/dashboard/2.5/IMPORT_OPENAPI_USER_GUIDE/index.html   |  8 ++++----
 zh/docs/dashboard/2.5/USER_GUIDE/index.html                  |  8 ++++----
 zh/docs/dashboard/2.5/api/api/index.html                     |  8 ++++----
 zh/docs/dashboard/2.5/back-end-tests/index.html              |  8 ++++----
 zh/docs/dashboard/2.5/deploy-with-docker/index.html          |  8 ++++----
 zh/docs/dashboard/2.5/deploy-with-rpm/index.html             |  8 ++++----
 zh/docs/dashboard/2.5/deploy/index.html                      |  8 ++++----
 zh/docs/dashboard/2.5/develop/index.html                     |  8 ++++----
 zh/docs/dashboard/2.5/front-end-e2e/index.html               |  8 ++++----
 zh/docs/dashboard/2.5/tags/index.html                        |  8 ++++----
 zh/docs/dashboard/2.6.1/FAQ/index.html                       |  8 ++++----
 zh/docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html           |  8 ++++----
 zh/docs/dashboard/2.6.1/IGNORE_DOC/index.html                |  8 ++++----
 zh/docs/dashboard/2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html |  8 ++++----
 zh/docs/dashboard/2.6.1/USER_GUIDE/index.html                |  8 ++++----
 zh/docs/dashboard/2.6.1/api/api/index.html                   |  8 ++++----
 zh/docs/dashboard/2.6.1/back-end-tests/index.html            |  8 ++++----
 zh/docs/dashboard/2.6.1/deploy-with-docker/index.html        |  8 ++++----
 zh/docs/dashboard/2.6.1/deploy-with-rpm/index.html           |  8 ++++----
 zh/docs/dashboard/2.6.1/deploy/index.html                    |  8 ++++----
 zh/docs/dashboard/2.6.1/develop/index.html                   |  8 ++++----
 zh/docs/dashboard/2.6.1/front-end-e2e/index.html             |  8 ++++----
 zh/docs/dashboard/2.6.1/tags/index.html                      |  8 ++++----
 zh/docs/dashboard/2.6/FAQ/index.html                         |  8 ++++----
 zh/docs/dashboard/2.6/I18N_USER_GUIDE/index.html             |  8 ++++----
 zh/docs/dashboard/2.6/IGNORE_DOC/index.html                  |  8 ++++----
 zh/docs/dashboard/2.6/IMPORT_OPENAPI_USER_GUIDE/index.html   |  8 ++++----
 zh/docs/dashboard/2.6/USER_GUIDE/index.html                  |  8 ++++----
 zh/docs/dashboard/2.6/api/api/index.html                     |  8 ++++----
 zh/docs/dashboard/2.6/back-end-tests/index.html              |  8 ++++----
 zh/docs/dashboard/2.6/deploy-with-docker/index.html          |  8 ++++----
 zh/docs/dashboard/2.6/deploy-with-rpm/index.html             |  8 ++++----
 zh/docs/dashboard/2.6/deploy/index.html                      |  8 ++++----
 zh/docs/dashboard/2.6/develop/index.html                     |  8 ++++----
 zh/docs/dashboard/2.6/front-end-e2e/index.html               |  8 ++++----
 zh/docs/dashboard/2.6/tags/index.html                        |  8 ++++----
 zh/docs/dashboard/2.7.1/FAQ/index.html                       |  8 ++++----
 zh/docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html           |  8 ++++----
 zh/docs/dashboard/2.7.1/IGNORE_DOC/index.html                |  8 ++++----
 zh/docs/dashboard/2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html |  8 ++++----
 zh/docs/dashboard/2.7.1/USER_GUIDE/index.html                |  8 ++++----
 zh/docs/dashboard/2.7.1/api/api/index.html                   |  8 ++++----
 zh/docs/dashboard/2.7.1/back-end-tests/index.html            |  8 ++++----
 zh/docs/dashboard/2.7.1/deploy-with-docker/index.html        |  8 ++++----
 zh/docs/dashboard/2.7.1/deploy-with-rpm/index.html           |  8 ++++----
 zh/docs/dashboard/2.7.1/deploy/index.html                    |  8 ++++----
 zh/docs/dashboard/2.7.1/develop/index.html                   |  8 ++++----
 zh/docs/dashboard/2.7.1/front-end-e2e/index.html             |  8 ++++----
 zh/docs/dashboard/2.7.1/tags/index.html                      |  8 ++++----
 zh/docs/dashboard/2.7/FAQ/index.html                         |  8 ++++----
 zh/docs/dashboard/2.7/I18N_USER_GUIDE/index.html             |  8 ++++----
 zh/docs/dashboard/2.7/IGNORE_DOC/index.html                  |  8 ++++----
 zh/docs/dashboard/2.7/IMPORT_OPENAPI_USER_GUIDE/index.html   |  8 ++++----
 zh/docs/dashboard/2.7/USER_GUIDE/index.html                  |  8 ++++----
 zh/docs/dashboard/2.7/api/api/index.html                     |  8 ++++----
 zh/docs/dashboard/2.7/back-end-tests/index.html              |  8 ++++----
 zh/docs/dashboard/2.7/deploy-with-docker/index.html          |  8 ++++----
 zh/docs/dashboard/2.7/deploy-with-rpm/index.html             |  8 ++++----
 zh/docs/dashboard/2.7/deploy/index.html                      |  8 ++++----
 zh/docs/dashboard/2.7/develop/index.html                     |  8 ++++----
 zh/docs/dashboard/2.7/front-end-e2e/index.html               |  8 ++++----
 zh/docs/dashboard/2.7/tags/index.html                        |  8 ++++----
 zh/docs/dashboard/FAQ/index.html                             |  8 ++++----
 zh/docs/dashboard/I18N_USER_GUIDE/index.html                 |  8 ++++----
 zh/docs/dashboard/IGNORE_DOC/index.html                      |  8 ++++----
 zh/docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html       |  8 ++++----
 zh/docs/dashboard/USER_GUIDE/index.html                      |  8 ++++----
 zh/docs/dashboard/api/api/index.html                         |  8 ++++----
 zh/docs/dashboard/back-end-tests/index.html                  |  8 ++++----
 zh/docs/dashboard/deploy-with-docker/index.html              |  8 ++++----
 zh/docs/dashboard/deploy-with-rpm/index.html                 |  8 ++++----
 zh/docs/dashboard/deploy/index.html                          |  8 ++++----
 zh/docs/dashboard/develop/index.html                         |  8 ++++----
 zh/docs/dashboard/front-end-e2e/index.html                   |  8 ++++----
 zh/docs/dashboard/next/FAQ/index.html                        |  8 ++++----
 zh/docs/dashboard/next/I18N_USER_GUIDE/index.html            |  8 ++++----
 zh/docs/dashboard/next/IGNORE_DOC/index.html                 | 10 +++++-----
 zh/docs/dashboard/next/IMPORT_OPENAPI_USER_GUIDE/index.html  |  8 ++++----
 zh/docs/dashboard/next/USER_GUIDE/index.html                 |  8 ++++----
 zh/docs/dashboard/next/api/api/index.html                    |  8 ++++----
 zh/docs/dashboard/next/back-end-tests/index.html             |  8 ++++----
 zh/docs/dashboard/next/deploy-with-docker/index.html         |  8 ++++----
 zh/docs/dashboard/next/deploy-with-rpm/index.html            |  8 ++++----
 zh/docs/dashboard/next/deploy/index.html                     |  8 ++++----
 zh/docs/dashboard/next/develop/index.html                    |  8 ++++----
 zh/docs/dashboard/next/front-end-e2e/index.html              |  8 ++++----
 zh/docs/dashboard/next/tags/index.html                       |  8 ++++----
 zh/docs/dashboard/tags/index.html                            |  8 ++++----
 zh/docs/docker/IGNORE_DOC/index.html                         |  8 ++++----
 zh/docs/docker/apisix-2.10.0/IGNORE_DOC/index.html           |  8 ++++----
 zh/docs/docker/apisix-2.10.0/build/index.html                |  8 ++++----
 zh/docs/docker/apisix-2.10.0/example/index.html              |  8 ++++----
 zh/docs/docker/apisix-2.10.0/manual/index.html               |  8 ++++----
 zh/docs/docker/apisix-2.10.0/tags/index.html                 |  8 ++++----
 zh/docs/docker/apisix-2.9.0/IGNORE_DOC/index.html            |  8 ++++----
 zh/docs/docker/apisix-2.9.0/build/index.html                 |  8 ++++----
 zh/docs/docker/apisix-2.9.0/example/index.html               |  8 ++++----
 zh/docs/docker/apisix-2.9.0/manual/index.html                |  8 ++++----
 zh/docs/docker/apisix-2.9.0/tags/index.html                  |  8 ++++----
 zh/docs/docker/build/index.html                              |  8 ++++----
 zh/docs/docker/example/index.html                            |  8 ++++----
 zh/docs/docker/manual/index.html                             |  8 ++++----
 zh/docs/docker/next/IGNORE_DOC/index.html                    | 10 +++++-----
 zh/docs/docker/next/build/index.html                         |  8 ++++----
 zh/docs/docker/next/example/index.html                       |  8 ++++----
 zh/docs/docker/next/manual/index.html                        |  8 ++++----
 zh/docs/docker/next/tags/index.html                          |  8 ++++----
 zh/docs/docker/tags/index.html                               |  8 ++++----
 zh/docs/general/2fa/index.html                               | 10 +++++-----
 zh/docs/general/committer-guide/index.html                   | 10 +++++-----
 zh/docs/general/contributor-guide/index.html                 | 10 +++++-----
 zh/docs/general/integrate-with-project-docs/index.html       | 10 +++++-----
 zh/docs/general/release-guide/index.html                     | 10 +++++-----
 zh/docs/general/security/index.html                          | 10 +++++-----
 zh/docs/general/subscribe-guide/index.html                   | 10 +++++-----
 zh/docs/general/tags/index.html                              |  8 ++++----
 zh/docs/go-plugin-runner/0.1.0/IGNORE_DOC/index.html         |  8 ++++----
 zh/docs/go-plugin-runner/0.1.0/developer-guide/index.html    |  8 ++++----
 zh/docs/go-plugin-runner/0.1.0/getting-started/index.html    |  8 ++++----
 zh/docs/go-plugin-runner/0.1.0/tags/index.html               |  8 ++++----
 zh/docs/go-plugin-runner/IGNORE_DOC/index.html               |  8 ++++----
 zh/docs/go-plugin-runner/developer-guide/index.html          |  8 ++++----
 zh/docs/go-plugin-runner/getting-started/index.html          |  8 ++++----
 zh/docs/go-plugin-runner/next/IGNORE_DOC/index.html          | 10 +++++-----
 zh/docs/go-plugin-runner/next/developer-guide/index.html     |  8 ++++----
 zh/docs/go-plugin-runner/next/getting-started/index.html     |  8 ++++----
 zh/docs/go-plugin-runner/next/tags/index.html                |  8 ++++----
 zh/docs/go-plugin-runner/tags/index.html                     |  8 ++++----
 zh/docs/helm-chart/FAQ/index.html                            |  8 ++++----
 zh/docs/helm-chart/IGNORE_DOC/index.html                     | 10 +++++-----
 zh/docs/helm-chart/apisix-dashboard/index.html               |  8 ++++----
 zh/docs/helm-chart/apisix-ingress-controller/index.html      |  8 ++++----
 zh/docs/helm-chart/apisix/index.html                         |  8 ++++----
 zh/docs/helm-chart/tags/index.html                           |  8 ++++----
 zh/docs/index.html                                           |  8 ++++----
 zh/docs/ingress-controller/FAQ/index.html                    |  8 ++++----
 zh/docs/ingress-controller/IGNORE_DOC/index.html             | 10 +++++-----
 zh/docs/ingress-controller/concepts/annotations/index.html   |  8 ++++----
 .../concepts/apisix_cluster_config/index.html                |  8 ++++----
 zh/docs/ingress-controller/concepts/apisix_route/index.html  |  8 ++++----
 zh/docs/ingress-controller/concepts/apisix_tls/index.html    |  8 ++++----
 .../ingress-controller/concepts/apisix_upstream/index.html   |  8 ++++----
 zh/docs/ingress-controller/contribute/index.html             |  8 ++++----
 zh/docs/ingress-controller/deployments/ack/index.html        |  8 ++++----
 zh/docs/ingress-controller/deployments/aws/index.html        |  8 ++++----
 zh/docs/ingress-controller/deployments/azure/index.html      |  8 ++++----
 zh/docs/ingress-controller/deployments/gke/index.html        |  8 ++++----
 zh/docs/ingress-controller/deployments/k3s-rke/index.html    |  8 ++++----
 zh/docs/ingress-controller/deployments/kubesphere/index.html |  8 ++++----
 zh/docs/ingress-controller/deployments/minikube/index.html   |  8 ++++----
 zh/docs/ingress-controller/deployments/tke/index.html        |  8 ++++----
 zh/docs/ingress-controller/design/index.html                 |  8 ++++----
 zh/docs/ingress-controller/development/index.html            |  8 ++++----
 zh/docs/ingress-controller/getting-started/index.html        |  8 ++++----
 .../ingress-controller/practices/check-crd-status/index.html |  8 ++++----
 zh/docs/ingress-controller/practices/index/index.html        |  8 ++++----
 .../manage-certificates-with-cert-manager/index.html         |  8 ++++----
 .../manage-ingress-certificates-with-cert-manager/index.html |  8 ++++----
 zh/docs/ingress-controller/practices/mtls/index.html         |  8 ++++----
 .../proxy-the-httpbin-service-with-ingress/index.html        |  8 ++++----
 .../practices/proxy-the-httpbin-service/index.html           |  8 ++++----
 zh/docs/ingress-controller/practices/the-hard-way/index.html |  8 ++++----
 .../references/apisix_cluster_config/index.html              |  8 ++++----
 .../ingress-controller/references/apisix_route_v1/index.html |  8 ++++----
 .../references/apisix_route_v2alpha1/index.html              |  8 ++++----
 .../references/apisix_route_v2beta1/index.html               |  8 ++++----
 zh/docs/ingress-controller/references/apisix_tls/index.html  |  8 ++++----
 .../ingress-controller/references/apisix_upstream/index.html |  8 ++++----
 zh/docs/ingress-controller/tags/index.html                   |  8 ++++----
 zh/docs/java-plugin-runner/IGNORE_DOC/index.html             |  8 ++++----
 zh/docs/java-plugin-runner/development/index.html            |  8 ++++----
 zh/docs/java-plugin-runner/how-it-works/index.html           |  8 ++++----
 zh/docs/java-plugin-runner/next/IGNORE_DOC/index.html        | 10 +++++-----
 zh/docs/java-plugin-runner/next/development/index.html       |  8 ++++----
 zh/docs/java-plugin-runner/next/how-it-works/index.html      |  8 ++++----
 zh/docs/java-plugin-runner/next/tags/index.html              |  8 ++++----
 .../the-internal-of-apisix-java-plugin-runner/index.html     |  8 ++++----
 zh/docs/java-plugin-runner/tags/index.html                   |  8 ++++----
 .../the-internal-of-apisix-java-plugin-runner/index.html     |  8 ++++----
 zh/docs/python-plugin-runner/IGNORE_DOC/index.html           |  8 ++++----
 zh/docs/python-plugin-runner/developer-guide/index.html      |  8 ++++----
 zh/docs/python-plugin-runner/getting-started/index.html      |  8 ++++----
 zh/docs/python-plugin-runner/next/IGNORE_DOC/index.html      | 10 +++++-----
 zh/docs/python-plugin-runner/next/developer-guide/index.html |  8 ++++----
 zh/docs/python-plugin-runner/next/getting-started/index.html |  8 ++++----
 zh/docs/python-plugin-runner/next/tags/index.html            |  8 ++++----
 zh/docs/python-plugin-runner/tags/index.html                 |  8 ++++----
 zh/downloads/index.html                                      |  8 ++++----
 zh/events/archive/index.html                                 |  8 ++++----
 zh/help/index.html                                           |  8 ++++----
 zh/index.html                                                |  8 ++++----
 zh/plugins/index.html                                        |  8 ++++----
 zh/releases/2019/11/15/release-apache-apisix-0.9/index.html  |  8 ++++----
 zh/releases/2019/9/29/release-apache-apisix-0.8/index.html   |  8 ++++----
 zh/releases/2019/9/6/release-apache-apisix-0.7/index.html    |  8 ++++----
 zh/releases/2020/1/15/release-apache-apisix-1.0/index.html   |  8 ++++----
 zh/releases/2020/10/28/release-apache-apisix-2.0/index.html  |  8 ++++----
 zh/releases/2020/12/1/release-apache-apisix-2.1/index.html   |  8 ++++----
 .../12/16/release-apache-apisix-dashboard-2.2/index.html     |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/releases/2020/2/24/release-apache-apisix-1.1/index.html   |  8 ++++----
 .../2020/2/24/release-apache-apisix-dashboard-1.0/index.html |  8 ++++----
 zh/releases/2020/4/20/release-apache-apisix-1.2/index.html   |  8 ++++----
 zh/releases/2020/5/26/release-apache-apisix-1.3/index.html   |  8 ++++----
 zh/releases/2020/6/30/release-apache-apisix-1.4/index.html   |  8 ++++----
 zh/releases/2020/7/20/release-apache-apisix-1.4.1/index.html |  8 ++++----
 .../2020/8/12/release-apache-apisix-dashboard-1.5/index.html |  8 ++++----
 zh/releases/2020/8/6/release-apache-apisix-1.5/index.html    |  8 ++++----
 .../2021/1/11/release-apache-apisix-dashboard-2.3/index.html |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/releases/2021/1/8/release-apache-apisix-2.2/index.html    |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../2021/2/12/release-apache-apisix-dashboard-2.4/index.html |  8 ++++----
 zh/releases/2021/2/9/release-apache-apisix-2.3/index.html    |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../2021/3/29/release-apache-apisix-dashboard-2.5/index.html |  8 ++++----
 zh/releases/2021/3/5/release-apache-apisix-2.4/index.html    |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../2021/4/22/release-apache-apisix-dashboard-2.6/index.html |  8 ++++----
 zh/releases/2021/4/5/release-apache-apisix-2.5/index.html    |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/releases/2021/5/24/release-apache-apisix-2.6/index.html   |  8 ++++----
 .../5/27/release-apache-apisix-dashboard-2.6.1/index.html    |  8 ++++----
 .../2021/6/15/release-apache-apisix-dashboard-2.7/index.html |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/releases/2021/6/25/release-apache-apisix-2.7/index.html   |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../release-apache-apisix-go-plugin-runner-0.1.0/index.html  |  8 ++++----
 zh/releases/2021/7/27/release-apache-apisix-2.8/index.html   |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../8/10/release-apache-apisix-dashboard-2.7.1/index.html    |  8 ++++----
 .../index.html                                               |  8 ++++----
 zh/releases/2021/8/27/release-apache-apisix-2.9/index.html   |  8 ++++----
 .../release-apache-apisix-go-plugin-runner-0.2.0/index.html  |  8 ++++----
 .../index.html                                               |  8 ++++----
 .../2021/9/7/release-apache-apisix-dashboard-2.8/index.html  |  8 ++++----
 zh/releases/archive/index.html                               |  8 ++++----
 zh/releases/index.html                                       |  8 ++++----
 zh/releases/page/2/index.html                                |  8 ++++----
 zh/releases/page/3/index.html                                |  8 ++++----
 zh/releases/page/4/index.html                                |  8 ++++----
 zh/releases/page/5/index.html                                |  8 ++++----
 zh/releases/tags/apisix-dashboard/index.html                 |  8 ++++----
 zh/releases/tags/apisix-go-plugin-runner/index.html          |  8 ++++----
 zh/releases/tags/apisix-ingress-controller/index.html        |  8 ++++----
 zh/releases/tags/apisix-java-plugin-runner/index.html        |  8 ++++----
 zh/releases/tags/apisix-python-plugin-runner/index.html      |  8 ++++----
 zh/releases/tags/apisix/index.html                           |  8 ++++----
 zh/releases/tags/index.html                                  |  8 ++++----
 zh/search/index.html                                         | 10 +++++-----
 zh/sections/components/arrowAnim/index.html                  |  8 ++++----
 zh/sections/components/eventPosterCard/index.html            |  8 ++++----
 zh/sections/components/heroCanvas/index.html                 |  8 ++++----
 zh/sections/components/ossCanvas/index.html                  |  8 ++++----
 zh/showcase/index.html                                       |  8 ++++----
 zh/team/index.html                                           |  8 ++++----
 2272 files changed, 6779 insertions(+), 6781 deletions(-)

diff --git a/404.html b/404.html
index c2dcd91..5b773c8 100644
--- a/404.html
+++ b/404.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 fd2268c..d564691 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
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 133f75d..999f8e1 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.2e33f22a.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" name="twitter:card" content="summary_large_image"><meta data-react-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.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3cac9bf..0b4212a 100644
--- a/articles/Apache-APISIX-Incubator-Journey/index.html
+++ b/articles/Apache-APISIX-Incubator-Journey/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 64c18ba..7acda3a 100644
--- a/articles/Apache-APISIX-Kubernetes-Ingress/index.html
+++ b/articles/Apache-APISIX-Kubernetes-Ingress/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 8e056cb..0144bd3 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.2e33f22a.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" name="twitter:card" content="summary_large_image"><meta data-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.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 8f74a91..88f86d2 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
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 546c1a5..fab35b8 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
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 dabeea7..58bcf44 100644
--- a/articles/Rendering-Community-Events-Using-ECharts/index.html
+++ b/articles/Rendering-Community-Events-Using-ECharts/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f8cc562..f2905fb 100644
--- a/articles/Speed-Limiting-With-Apache-APISIX/index.html
+++ b/articles/Speed-Limiting-With-Apache-APISIX/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3c57d83..d53bc9d 100644
--- a/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
+++ b/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 a0bacfe..fc9c361 100644
--- a/articles/The-Appeal-of-OpenSource/index.html
+++ b/articles/The-Appeal-of-OpenSource/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 c4c4c55..4e71795 100644
--- a/articles/The-Evolution-of-Apache-APISIX/index.html
+++ b/articles/The-Evolution-of-Apache-APISIX/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 807273f..68f9b57 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
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/archive/index.html b/articles/archive/index.html
index c64571e..9c62864 100644
--- a/articles/archive/index.html
+++ b/articles/archive/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/atom.xml b/articles/atom.xml
index 95b0c2f..d3ac120 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-03T05:04:21.271Z</updated>
+    <updated>2021-10-03T08:07:30.071Z</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-03T05:04:21.271Z</updated>
+        <updated>2021-10-03T08:07:30.071Z</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-03T05:04:21.271Z</updated>
+        <updated>2021-10-03T08:07:30.071Z</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 5bc77c5..7ba0233 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 10735ec..099b42b 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/rss.xml b/articles/rss.xml
index 9b142f9..9b2441f 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>Sun, 03 Oct 2021 05:04:21 GMT</lastBuildDate>
+        <lastBuildDate>Sun, 03 Oct 2021 08:07:30 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>Sun, 03 Oct 2021 05:04:21 GMT</pubDate>
+            <pubDate>Sun, 03 Oct 2021 08:07:30 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>Sun, 03 Oct 2021 05:04:21 GMT</pubDate>
+            <pubDate>Sun, 03 Oct 2021 08:07:30 GMT</pubDate>
             <description><![CDATA[该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与实践经验分享。首先介绍了中国移动公有云建设规划及对象存储产品发展演进历程,然后阐述了我们为什么选择 APISIX 作为负载均衡网关,并对 EOS 流量治理架构演进三个阶段进行进行了详细介绍。同时,我们还分享了基于 APISIX 我们解决了哪些实际生产问题,做了哪些方案及开发工作,最后对我们未来的演进做了一些规划说明。]]></description>
         </item>
         <item>
diff --git a/assets/js/09b17eb5.18a0b778.js b/assets/js/09b17eb5.31a0df21.js
similarity index 98%
rename from assets/js/09b17eb5.18a0b778.js
rename to assets/js/09b17eb5.31a0df21.js
index 3d0e57d..6e4f8f8 100644
--- a/assets/js/09b17eb5.18a0b778.js
+++ b/assets/js/09b17eb5.31a0df21.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/assets/js/19945770.20a1e9fc.js b/assets/js/19945770.20a1e9fc.js
deleted file mode 100644
index 95ff7ba..0000000
--- a/assets/js/19945770.20a1e9fc.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.908dcfe4.js b/assets/js/19945770.908dcfe4.js
new file mode 100644
index 0000000..83cfabd
--- /dev/null
+++ b/assets/js/19945770.908dcfe4.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.35f85be3.js b/assets/js/3393d167.4e39f0e3.js
similarity index 74%
rename from assets/js/3393d167.35f85be3.js
rename to assets/js/3393d167.4e39f0e3.js
index 970ed78..55fa0d2 100644
--- a/assets/js/3393d167.35f85be3.js
+++ b/assets/js/3393d167.4e39f0e3.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){r.d(t,{Zo:function(){return s},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"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.3cfdbd56.js b/assets/js/358566b4.52622cf2.js
similarity index 89%
rename from assets/js/358566b4.3cfdbd56.js
rename to assets/js/358566b4.52622cf2.js
index 2b4c2cb..e564fd0 100644
--- a/assets/js/358566b4.3cfdbd56.js
+++ b/assets/js/358566b4.52622cf2.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 d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[13553],{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 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.23352beb.js b/assets/js/3dc9f306.23352beb.js
new file mode 100644
index 0000000..7d606a2
--- /dev/null
+++ b/assets/js/3dc9f306.23352beb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(e,t,o){o.d(t,{Zo:function(){return l},kt:function(){return f}});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/3dc9f306.ca888517.js b/assets/js/3dc9f306.ca888517.js
deleted file mode 100644
index 43b1880..0000000
--- a/assets/js/3dc9f306.ca888517.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/zh/assets/js/358566b4.44a3d88e.js b/assets/js/40fb2fae.2475c7c8.js
similarity index 64%
copy from zh/assets/js/358566b4.44a3d88e.js
copy to assets/js/40fb2fae.2475c7c8.js
index 93f876c..51d28c8 100644
--- a/zh/assets/js/358566b4.44a3d88e.js
+++ b/assets/js/40fb2fae.2475c7c8.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 d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
+"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.70ab0929.js b/assets/js/4c20006b.70ab0929.js
deleted file mode 100644
index f559db8..0000000
--- a/assets/js/4c20006b.70ab0929.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return O}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/zh/assets/js/40fb2fae.375b9e5d.js b/assets/js/4c20006b.cc23fbcb.js
similarity index 68%
rename from zh/assets/js/40fb2fae.375b9e5d.js
rename to assets/js/4c20006b.cc23fbcb.js
index e054f6c..9a9611b 100644
--- a/zh/assets/js/40fb2fae.375b9e5d.js
+++ b/assets/js/4c20006b.cc23fbcb.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 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.71bc2ecb.js b/assets/js/507e1a4c.ad17c5ce.js
similarity index 98%
rename from assets/js/507e1a4c.71bc2ecb.js
rename to assets/js/507e1a4c.ad17c5ce.js
index b5f0dfa..49b8efa 100644
--- a/assets/js/507e1a4c.71bc2ecb.js
+++ b/assets/js/507e1a4c.ad17c5ce.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.6c997f91.js b/assets/js/50facf8e.4caa2640.js
similarity index 53%
rename from assets/js/50facf8e.6c997f91.js
rename to assets/js/50facf8e.4caa2640.js
index 51c6737..38425c6 100644
--- a/assets/js/50facf8e.6c997f91.js
+++ b/assets/js/50facf8e.4caa2640.js
@@ -1 +1 @@
-"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
+"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/542fd41f.05cf37df.js b/assets/js/542fd41f.700efb76.js
similarity index 54%
rename from assets/js/542fd41f.05cf37df.js
rename to assets/js/542fd41f.700efb76.js
index 69810bf..d19e561 100644
--- a/assets/js/542fd41f.05cf37df.js
+++ b/assets/js/542fd41f.700efb76.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 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([[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.3f5ceaea.js b/assets/js/601c6eaa.8e633875.js
similarity index 75%
rename from assets/js/601c6eaa.3f5ceaea.js
rename to assets/js/601c6eaa.8e633875.js
index 418b64a..d1812ee 100644
--- a/assets/js/601c6eaa.3f5ceaea.js
+++ b/assets/js/601c6eaa.8e633875.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 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([[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 a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.610e70d6.js b/assets/js/66fbb9c2.a81141da.js
similarity index 65%
rename from assets/js/66fbb9c2.610e70d6.js
rename to assets/js/66fbb9c2.a81141da.js
index 7fbe29f..24fb6f3 100644
--- a/assets/js/66fbb9c2.610e70d6.js
+++ b/assets/js/66fbb9c2.a81141da.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/7af3052c.5ac6ab6c.js b/assets/js/7af3052c.5ac6ab6c.js
deleted file mode 100644
index 226f194..0000000
--- a/assets/js/7af3052c.5ac6ab6c.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/7af3052c.61a9214b.js b/assets/js/7af3052c.61a9214b.js
new file mode 100644
index 0000000..507751e
--- /dev/null
+++ b/assets/js/7af3052c.61a9214b.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/80791de8.a6293cde.js b/assets/js/80791de8.38966ab9.js
similarity index 83%
rename from assets/js/80791de8.a6293cde.js
rename to assets/js/80791de8.38966ab9.js
index f48d927..17fd587 100644
--- a/assets/js/80791de8.a6293cde.js
+++ b/assets/js/80791de8.38966ab9.js
@@ -1 +1 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return d}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return d}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.4f29c152.js b/assets/js/8e784bf3.4f29c152.js
new file mode 100644
index 0000000..4be1183
--- /dev/null
+++ b/assets/js/8e784bf3.4f29c152.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.c8b927bb.js b/assets/js/8e784bf3.c8b927bb.js
deleted file mode 100644
index 919a17b..0000000
--- a/assets/js/8e784bf3.c8b927bb.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/8f700fa6.b2f8b5c3.js b/assets/js/8f700fa6.08a7ed43.js
similarity index 97%
rename from assets/js/8f700fa6.b2f8b5c3.js
rename to assets/js/8f700fa6.08a7ed43.js
index d11b8f8..b4245a5 100644
--- a/assets/js/8f700fa6.b2f8b5c3.js
+++ b/assets/js/8f700fa6.08a7ed43.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.4d24cd10.js b/assets/js/90fc8a94.3e83c818.js
similarity index 98%
rename from assets/js/90fc8a94.4d24cd10.js
rename to assets/js/90fc8a94.3e83c818.js
index adf3cf2..c99524c 100644
--- a/assets/js/90fc8a94.4d24cd10.js
+++ b/assets/js/90fc8a94.3e83c818.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.b79a5193.js b/assets/js/941960b1.1435e818.js
similarity index 97%
rename from assets/js/941960b1.b79a5193.js
rename to assets/js/941960b1.1435e818.js
index 5d35f94..36d5f0e 100644
--- a/assets/js/941960b1.b79a5193.js
+++ b/assets/js/941960b1.1435e818.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/adbb350b.6664693d.js b/assets/js/adbb350b.6664693d.js
new file mode 100644
index 0000000..93d0caf
--- /dev/null
+++ b/assets/js/adbb350b.6664693d.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 h}});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.88a7ba7e.js b/assets/js/adbb350b.88a7ba7e.js
deleted file mode 100644
index f5fb0b5..0000000
--- a/assets/js/adbb350b.88a7ba7e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,i){i.d(t,{Zo:function(){return p},kt:function(){return d}});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.7d0c5238.js b/assets/js/d18db9b0.4ec7eff7.js
similarity index 88%
rename from assets/js/d18db9b0.7d0c5238.js
rename to assets/js/d18db9b0.4ec7eff7.js
index 5150f22..b546c2e 100644
--- a/assets/js/d18db9b0.7d0c5238.js
+++ b/assets/js/d18db9b0.4ec7eff7.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/runtime~main.2e33f22a.js b/assets/js/runtime~main.c0aa10e9.js
similarity index 97%
rename from assets/js/runtime~main.2e33f22a.js
rename to assets/js/runtime~main.c0aa10e9.js
index 16e7ad4..269894e 100644
--- a/assets/js/runtime~main.2e33f22a.js
+++ b/assets/js/runtime~main.c0aa10e9.js
@@ -1 +1 @@
-!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
+!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 4cd140d..dcfaf97 100644
--- a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ed3b2f6..3b3c693 100644
--- a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 75a3608..24be403 100644
--- a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f5cb609..8897950 100644
--- a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
+++ b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 56e253f..200507e 100644
--- a/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
+++ b/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 c05e7bc..272ad3e 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
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 251e8b5..00ed38e 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
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5bb40d4..f5453e0 100644
--- a/blog/2021/07/06/celebrate-200-contributors/index.html
+++ b/blog/2021/07/06/celebrate-200-contributors/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5e8303e..7cb1d1b 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
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 75d6241..2f4a9d7 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
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 27f86ab..228c25a 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
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 725cf97..2a198bf 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
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -27,7 +27,7 @@
 <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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 4a2ad9b..83389fe 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
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -32,7 +32,7 @@
 </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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 4311e7d..50eddd7 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
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 4315977..81a276a 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
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/29/release-apache-apisix-2.10/index.html b/blog/2021/09/29/release-apache-apisix-2.10/index.html
index 2522cd2..228f0de 100644
--- a/blog/2021/09/29/release-apache-apisix-2.10/index.html
+++ b/blog/2021/09/29/release-apache-apisix-2.10/index.html
@@ -16,13 +16,13 @@
 <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 2.10.0 正式发布,带来第一个 LTS 版本! | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="ht [...]
-<link rel="preload" href="/assets/js/runtime~main.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/09/30/weekly-report/index.html b/blog/2021/09/30/weekly-report/index.html
index 59fbeab..973cc2d 100644
--- a/blog/2021/09/30/weekly-report/index.html
+++ b/blog/2021/09/30/weekly-report/index.html
@@ -16,13 +16,13 @@
 <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">社区周报|新晋 committer 一位,功能亮点更新进行中 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/10/01/openEuler/index.html b/blog/2021/10/01/openEuler/index.html
index 38c5c0d..3712bb9 100644
--- a/blog/2021/10/01/openEuler/index.html
+++ b/blog/2021/10/01/openEuler/index.html
@@ -16,13 +16,13 @@
 <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 社区成员助力 openEuler 发布第一个社区创新版 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta 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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 2127ea8..876bbfa 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index d2cd561..bed595b 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/2/index.html b/blog/page/2/index.html
index 88379db..c2b07c9 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 dd51c08..bda4013 100644
--- a/blog/tags/community/index.html
+++ b/blog/tags/community/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 cc79d1d..a5c2b96 100644
--- a/blog/tags/events/index.html
+++ b/blog/tags/events/index.html
@@ -16,13 +16,13 @@
 <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;Events&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="3 posts 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-helme [...]
-<link rel="preload" href="/assets/js/runtime~main.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index e6bfd68..0c43c69 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7a6b351..a9523c7 100644
--- a/blog/tags/practical-case/index.html
+++ b/blog/tags/practical-case/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ca21f15..4448763 100644
--- a/blog/tags/release/index.html
+++ b/blog/tags/release/index.html
@@ -16,13 +16,13 @@
 <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;Release&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="5 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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 a194c90..d074a0f 100644
--- a/blog/tags/security/index.html
+++ b/blog/tags/security/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 045137b..9312e8d 100644
--- a/blog/tags/technology/index.html
+++ b/blog/tags/technology/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 a0227f8..5bdb467 100644
--- a/docs/apisix/2.10.0/FAQ/index.html
+++ b/docs/apisix/2.10.0/FAQ/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 11e6476..9646747 100644
--- a/docs/apisix/2.10.0/IGNORE_DOC/index.html
+++ b/docs/apisix/2.10.0/IGNORE_DOC/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 4224daf..b92153a 100644
--- a/docs/apisix/2.10.0/admin-api/index.html
+++ b/docs/apisix/2.10.0/admin-api/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5dc5d9c..5c09390 100644
--- a/docs/apisix/2.10.0/architecture-design/apisix/index.html
+++ b/docs/apisix/2.10.0/architecture-design/apisix/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ab508e1..bb52afb 100644
--- a/docs/apisix/2.10.0/architecture-design/consumer/index.html
+++ b/docs/apisix/2.10.0/architecture-design/consumer/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 748f1bc..d74d58a 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
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 6d171e2..22c35cc 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
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 35246a8..1ba151a 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
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 d76f2f1..0892c13 100644
--- a/docs/apisix/2.10.0/architecture-design/plugin/index.html
+++ b/docs/apisix/2.10.0/architecture-design/plugin/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ebf6c02..7f5b083 100644
--- a/docs/apisix/2.10.0/architecture-design/route/index.html
+++ b/docs/apisix/2.10.0/architecture-design/route/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0853065..d1bc314 100644
--- a/docs/apisix/2.10.0/architecture-design/router/index.html
+++ b/docs/apisix/2.10.0/architecture-design/router/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 27c46dc..a31878f 100644
--- a/docs/apisix/2.10.0/architecture-design/script/index.html
+++ b/docs/apisix/2.10.0/architecture-design/script/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 bad04f1..b538ba6 100644
--- a/docs/apisix/2.10.0/architecture-design/service/index.html
+++ b/docs/apisix/2.10.0/architecture-design/service/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 e8e9f41..c566e3e 100644
--- a/docs/apisix/2.10.0/architecture-design/upstream/index.html
+++ b/docs/apisix/2.10.0/architecture-design/upstream/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 2124894..065a932 100644
--- a/docs/apisix/2.10.0/aws/index.html
+++ b/docs/apisix/2.10.0/aws/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 6d91d78..304110b 100644
--- a/docs/apisix/2.10.0/batch-processor/index.html
+++ b/docs/apisix/2.10.0/batch-processor/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 1565d1d..4ff8372 100644
--- a/docs/apisix/2.10.0/benchmark/index.html
+++ b/docs/apisix/2.10.0/benchmark/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 8535743..c9a111a 100644
--- a/docs/apisix/2.10.0/certificate/index.html
+++ b/docs/apisix/2.10.0/certificate/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5f0d9a7..e5866f0 100644
--- a/docs/apisix/2.10.0/control-api/index.html
+++ b/docs/apisix/2.10.0/control-api/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 e92ac71..9a57030 100644
--- a/docs/apisix/2.10.0/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.10.0/customize-nginx-configuration/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0fb62d0..e9cf2e9 100644
--- a/docs/apisix/2.10.0/debug-function/index.html
+++ b/docs/apisix/2.10.0/debug-function/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7dfc84d..adaa2b2 100644
--- a/docs/apisix/2.10.0/discovery/consul_kv/index.html
+++ b/docs/apisix/2.10.0/discovery/consul_kv/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 77ad420..384fb9a 100644
--- a/docs/apisix/2.10.0/discovery/dns/index.html
+++ b/docs/apisix/2.10.0/discovery/dns/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f102fd4..e9e616f 100644
--- a/docs/apisix/2.10.0/discovery/eureka/index.html
+++ b/docs/apisix/2.10.0/discovery/eureka/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 12b3236..e01d35e 100644
--- a/docs/apisix/2.10.0/discovery/index.html
+++ b/docs/apisix/2.10.0/discovery/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0959eb4..190caa0 100644
--- a/docs/apisix/2.10.0/discovery/nacos/index.html
+++ b/docs/apisix/2.10.0/discovery/nacos/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7139a40..ea2afd5 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
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ae2c528..10eceab 100644
--- a/docs/apisix/2.10.0/external-plugin/index.html
+++ b/docs/apisix/2.10.0/external-plugin/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 eba8096..258f6ef 100644
--- a/docs/apisix/2.10.0/getting-started/index.html
+++ b/docs/apisix/2.10.0/getting-started/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3944f87..887ae14 100644
--- a/docs/apisix/2.10.0/grpc-proxy/index.html
+++ b/docs/apisix/2.10.0/grpc-proxy/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ad10c12..42d8197 100644
--- a/docs/apisix/2.10.0/health-check/index.html
+++ b/docs/apisix/2.10.0/health-check/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f3ac8fa..5631fba 100644
--- a/docs/apisix/2.10.0/how-to-build/index.html
+++ b/docs/apisix/2.10.0/how-to-build/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ed7bc03..f849cb6 100644
--- a/docs/apisix/2.10.0/install-dependencies/index.html
+++ b/docs/apisix/2.10.0/install-dependencies/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b551bda..2fd8005 100644
--- a/docs/apisix/2.10.0/internal/testing-framework/index.html
+++ b/docs/apisix/2.10.0/internal/testing-framework/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ca143db..fe9a362 100644
--- a/docs/apisix/2.10.0/mtls/index.html
+++ b/docs/apisix/2.10.0/mtls/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5ef1c99..ce658a6 100644
--- a/docs/apisix/2.10.0/plugin-develop/index.html
+++ b/docs/apisix/2.10.0/plugin-develop/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 78387b1..43d016a 100644
--- a/docs/apisix/2.10.0/plugin-interceptors/index.html
+++ b/docs/apisix/2.10.0/plugin-interceptors/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f708467..887acf6 100644
--- a/docs/apisix/2.10.0/plugins/api-breaker/index.html
+++ b/docs/apisix/2.10.0/plugins/api-breaker/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5676e9f..8e8edfd 100644
--- a/docs/apisix/2.10.0/plugins/authz-casbin/index.html
+++ b/docs/apisix/2.10.0/plugins/authz-casbin/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 d772e00..811b662 100644
--- a/docs/apisix/2.10.0/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.10.0/plugins/authz-keycloak/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5c1acff..a2ad7c7 100644
--- a/docs/apisix/2.10.0/plugins/basic-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/basic-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 84a2114..02c9979 100644
--- a/docs/apisix/2.10.0/plugins/batch-requests/index.html
+++ b/docs/apisix/2.10.0/plugins/batch-requests/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 d3917a8..265d31e 100644
--- a/docs/apisix/2.10.0/plugins/client-control/index.html
+++ b/docs/apisix/2.10.0/plugins/client-control/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 467b89f..f5498ab 100644
--- a/docs/apisix/2.10.0/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/consumer-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0a6db1d..31e739f 100644
--- a/docs/apisix/2.10.0/plugins/cors/index.html
+++ b/docs/apisix/2.10.0/plugins/cors/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5e4a64c..2022224 100644
--- a/docs/apisix/2.10.0/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.10.0/plugins/dubbo-proxy/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3ac71b6..4ee1fd3 100644
--- a/docs/apisix/2.10.0/plugins/echo/index.html
+++ b/docs/apisix/2.10.0/plugins/echo/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ed84e8d..f5d572f 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
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 9adaeb1..8382c93 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
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 9d1dd81..e07c3db 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
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f2b5d9e..9013e13 100644
--- a/docs/apisix/2.10.0/plugins/fault-injection/index.html
+++ b/docs/apisix/2.10.0/plugins/fault-injection/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3c20db0..aeb398e 100644
--- a/docs/apisix/2.10.0/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.10.0/plugins/grpc-transcode/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 c3bdd35..da072b6 100644
--- a/docs/apisix/2.10.0/plugins/gzip/index.html
+++ b/docs/apisix/2.10.0/plugins/gzip/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3fc3a58..210e19a 100644
--- a/docs/apisix/2.10.0/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/hmac-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 681a0196..12a1af6 100644
--- a/docs/apisix/2.10.0/plugins/http-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/http-logger/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 78a5c71..45d2d73 100644
--- a/docs/apisix/2.10.0/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/ip-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 eeb8838..e9da19a 100644
--- a/docs/apisix/2.10.0/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/jwt-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 849c62b..a7bdfb6 100644
--- a/docs/apisix/2.10.0/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/kafka-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 71a4f2f..59183a2 100644
--- a/docs/apisix/2.10.0/plugins/key-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/key-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f95b37e..b6f03b2 100644
--- a/docs/apisix/2.10.0/plugins/limit-conn/index.html
+++ b/docs/apisix/2.10.0/plugins/limit-conn/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3772582..c4bce2e 100644
--- a/docs/apisix/2.10.0/plugins/limit-count/index.html
+++ b/docs/apisix/2.10.0/plugins/limit-count/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f985963..aeba90b 100644
--- a/docs/apisix/2.10.0/plugins/limit-req/index.html
+++ b/docs/apisix/2.10.0/plugins/limit-req/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f04e963..66be34d 100644
--- a/docs/apisix/2.10.0/plugins/log-rotate/index.html
+++ b/docs/apisix/2.10.0/plugins/log-rotate/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 96babf4..69fcbef 100644
--- a/docs/apisix/2.10.0/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.10.0/plugins/mqtt-proxy/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 4abf03f..c587786 100644
--- a/docs/apisix/2.10.0/plugins/node-status/index.html
+++ b/docs/apisix/2.10.0/plugins/node-status/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 368b8fb..9f51521 100644
--- a/docs/apisix/2.10.0/plugins/openid-connect/index.html
+++ b/docs/apisix/2.10.0/plugins/openid-connect/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 495cb61..893af94 100644
--- a/docs/apisix/2.10.0/plugins/prometheus/index.html
+++ b/docs/apisix/2.10.0/plugins/prometheus/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7a2e34b..edaf086 100644
--- a/docs/apisix/2.10.0/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.10.0/plugins/proxy-cache/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 133d34b..4c935e4 100644
--- a/docs/apisix/2.10.0/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.10.0/plugins/proxy-mirror/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b8ce04d..feb257b 100644
--- a/docs/apisix/2.10.0/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.10.0/plugins/proxy-rewrite/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 1e234fa..1ff4ab1 100644
--- a/docs/apisix/2.10.0/plugins/real-ip/index.html
+++ b/docs/apisix/2.10.0/plugins/real-ip/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0f036da..3f9af28 100644
--- a/docs/apisix/2.10.0/plugins/redirect/index.html
+++ b/docs/apisix/2.10.0/plugins/redirect/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b9bc03a..48492dc 100644
--- a/docs/apisix/2.10.0/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/referer-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ede0116..a16fb15 100644
--- a/docs/apisix/2.10.0/plugins/request-id/index.html
+++ b/docs/apisix/2.10.0/plugins/request-id/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 a3572dd..558f506 100644
--- a/docs/apisix/2.10.0/plugins/request-validation/index.html
+++ b/docs/apisix/2.10.0/plugins/request-validation/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f216bb6..99bcf53 100644
--- a/docs/apisix/2.10.0/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.10.0/plugins/response-rewrite/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 a06dade..55395d1 100644
--- a/docs/apisix/2.10.0/plugins/server-info/index.html
+++ b/docs/apisix/2.10.0/plugins/server-info/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 378cda7..ad28487 100644
--- a/docs/apisix/2.10.0/plugins/serverless/index.html
+++ b/docs/apisix/2.10.0/plugins/serverless/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 6ee2133..c2cd52f 100644
--- a/docs/apisix/2.10.0/plugins/skywalking/index.html
+++ b/docs/apisix/2.10.0/plugins/skywalking/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 8de5fd4..e0e545c 100644
--- a/docs/apisix/2.10.0/plugins/sls-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/sls-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b8c5d41..7f346bb 100644
--- a/docs/apisix/2.10.0/plugins/syslog/index.html
+++ b/docs/apisix/2.10.0/plugins/syslog/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 652f37c..36a6a71 100644
--- a/docs/apisix/2.10.0/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/tcp-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 9b0d6d9..af5e42e 100644
--- a/docs/apisix/2.10.0/plugins/traffic-split/index.html
+++ b/docs/apisix/2.10.0/plugins/traffic-split/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f133410..f2df0f9 100644
--- a/docs/apisix/2.10.0/plugins/ua-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/ua-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 931f090..ee0785d 100644
--- a/docs/apisix/2.10.0/plugins/udp-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/udp-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 9b99f2a..8d2891b 100644
--- a/docs/apisix/2.10.0/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.10.0/plugins/uri-blocker/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3a8f2f3..9d0a7c1 100644
--- a/docs/apisix/2.10.0/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.10.0/plugins/wolf-rbac/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 e525997..1d18ea0 100644
--- a/docs/apisix/2.10.0/plugins/zipkin/index.html
+++ b/docs/apisix/2.10.0/plugins/zipkin/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3104a21..2428fdd 100644
--- a/docs/apisix/2.10.0/profile/index.html
+++ b/docs/apisix/2.10.0/profile/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 cc41203..a6075fc 100644
--- a/docs/apisix/2.10.0/router-radixtree/index.html
+++ b/docs/apisix/2.10.0/router-radixtree/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0712969..e91ca7a 100644
--- a/docs/apisix/2.10.0/stand-alone/index.html
+++ b/docs/apisix/2.10.0/stand-alone/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5bad4e8..63977bb 100644
--- a/docs/apisix/2.10.0/stream-proxy/index.html
+++ b/docs/apisix/2.10.0/stream-proxy/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b797e63..40c9015 100644
--- a/docs/apisix/2.10.0/tags/index.html
+++ b/docs/apisix/2.10.0/tags/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 123188e..0dc81f6 100644
--- a/docs/apisix/2.4/FAQ/index.html
+++ b/docs/apisix/2.4/FAQ/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7606d16..cad8ab9 100644
--- a/docs/apisix/2.4/IGNORE_DOC/index.html
+++ b/docs/apisix/2.4/IGNORE_DOC/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 a90812a..080e458 100644
--- a/docs/apisix/2.4/admin-api/index.html
+++ b/docs/apisix/2.4/admin-api/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 c2aea9e..8714c93 100644
--- a/docs/apisix/2.4/architecture-design/apisix/index.html
+++ b/docs/apisix/2.4/architecture-design/apisix/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 93482eb..da85698 100644
--- a/docs/apisix/2.4/architecture-design/consumer/index.html
+++ b/docs/apisix/2.4/architecture-design/consumer/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 08e5401..e61e9ff 100644
--- a/docs/apisix/2.4/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.4/architecture-design/debug-mode/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 bd2deb6..6bdaca7 100644
--- a/docs/apisix/2.4/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.4/architecture-design/global-rule/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7a08f67..70c2de3 100644
--- a/docs/apisix/2.4/architecture-design/index.html
+++ b/docs/apisix/2.4/architecture-design/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3ab478f0..3461100 100644
--- a/docs/apisix/2.4/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.4/architecture-design/plugin-config/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 38cfe5f..6d4ab85 100644
--- a/docs/apisix/2.4/architecture-design/plugin/index.html
+++ b/docs/apisix/2.4/architecture-design/plugin/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0ffe125..beb43fc 100644
--- a/docs/apisix/2.4/architecture-design/route/index.html
+++ b/docs/apisix/2.4/architecture-design/route/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 a4de73d..1ce0fe4 100644
--- a/docs/apisix/2.4/architecture-design/router/index.html
+++ b/docs/apisix/2.4/architecture-design/router/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 e4abfb8..bad8cf6 100644
--- a/docs/apisix/2.4/architecture-design/script/index.html
+++ b/docs/apisix/2.4/architecture-design/script/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f78e557..d96f0d5 100644
--- a/docs/apisix/2.4/architecture-design/service/index.html
+++ b/docs/apisix/2.4/architecture-design/service/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 62042fd..a69b6b5 100644
--- a/docs/apisix/2.4/architecture-design/upstream/index.html
+++ b/docs/apisix/2.4/architecture-design/upstream/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 492039a..c1ea071 100644
--- a/docs/apisix/2.4/aws/index.html
+++ b/docs/apisix/2.4/aws/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 92ac5524..4325cb5 100644
--- a/docs/apisix/2.4/batch-processor/index.html
+++ b/docs/apisix/2.4/batch-processor/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 20b2b75..beef957 100644
--- a/docs/apisix/2.4/benchmark/index.html
+++ b/docs/apisix/2.4/benchmark/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ed3099c..88905a3 100644
--- a/docs/apisix/2.4/certificate/index.html
+++ b/docs/apisix/2.4/certificate/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 1632a99..8f16037 100644
--- a/docs/apisix/2.4/control-api/index.html
+++ b/docs/apisix/2.4/control-api/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b2f4f6b..a2c25a8 100644
--- a/docs/apisix/2.4/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.4/customize-nginx-configuration/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 32d077d..3a2d169 100644
--- a/docs/apisix/2.4/debug-function/index.html
+++ b/docs/apisix/2.4/debug-function/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 1eb41c2..ca2d01f 100644
--- a/docs/apisix/2.4/discovery/consul_kv/index.html
+++ b/docs/apisix/2.4/discovery/consul_kv/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 162a737..87b2621 100644
--- a/docs/apisix/2.4/discovery/dns/index.html
+++ b/docs/apisix/2.4/discovery/dns/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ffa75ce..9a0dad4 100644
--- a/docs/apisix/2.4/discovery/eureka/index.html
+++ b/docs/apisix/2.4/discovery/eureka/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3c5928d..1e3fd46 100644
--- a/docs/apisix/2.4/discovery/index.html
+++ b/docs/apisix/2.4/discovery/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 c25961a..b995784 100644
--- a/docs/apisix/2.4/discovery/nacos/index.html
+++ b/docs/apisix/2.4/discovery/nacos/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0680550..f83b2e9 100644
--- a/docs/apisix/2.4/dns/index.html
+++ b/docs/apisix/2.4/dns/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 49d929f..ac77875 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
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 743600f..60dc559 100644
--- a/docs/apisix/2.4/external-plugin/index.html
+++ b/docs/apisix/2.4/external-plugin/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 eaedc9e..a93171a 100644
--- a/docs/apisix/2.4/getting-started/index.html
+++ b/docs/apisix/2.4/getting-started/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 41c68f4..f7a3adc 100644
--- a/docs/apisix/2.4/grpc-proxy/index.html
+++ b/docs/apisix/2.4/grpc-proxy/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 a1c1e16..0acd7d0 100644
--- a/docs/apisix/2.4/health-check/index.html
+++ b/docs/apisix/2.4/health-check/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 aea00ae..ab22fb3 100644
--- a/docs/apisix/2.4/how-to-build/index.html
+++ b/docs/apisix/2.4/how-to-build/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 3255356..1e74f81 100644
--- a/docs/apisix/2.4/https/index.html
+++ b/docs/apisix/2.4/https/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b44def0..2ae664e 100644
--- a/docs/apisix/2.4/install-dependencies/index.html
+++ b/docs/apisix/2.4/install-dependencies/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 a0cadd3..af20618 100644
--- a/docs/apisix/2.4/internal/testing-framework/index.html
+++ b/docs/apisix/2.4/internal/testing-framework/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 75af33c..fc945e3 100644
--- a/docs/apisix/2.4/mtls/index.html
+++ b/docs/apisix/2.4/mtls/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 940d13a..6f3ea42 100644
--- a/docs/apisix/2.4/plugin-develop/index.html
+++ b/docs/apisix/2.4/plugin-develop/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 6d703f7..1b87ccf 100644
--- a/docs/apisix/2.4/plugin-interceptors/index.html
+++ b/docs/apisix/2.4/plugin-interceptors/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 8a724a0..f664ad4 100644
--- a/docs/apisix/2.4/plugins/api-breaker/index.html
+++ b/docs/apisix/2.4/plugins/api-breaker/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7deb5f9..aaf7cab 100644
--- a/docs/apisix/2.4/plugins/authz-casbin/index.html
+++ b/docs/apisix/2.4/plugins/authz-casbin/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 1aace17..42d4104 100644
--- a/docs/apisix/2.4/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.4/plugins/authz-keycloak/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ce92a15..9f9ac18 100644
--- a/docs/apisix/2.4/plugins/basic-auth/index.html
+++ b/docs/apisix/2.4/plugins/basic-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b45d5e8..cb3563c 100644
--- a/docs/apisix/2.4/plugins/batch-requests/index.html
+++ b/docs/apisix/2.4/plugins/batch-requests/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 096aca9..9cb133b 100644
--- a/docs/apisix/2.4/plugins/client-control/index.html
+++ b/docs/apisix/2.4/plugins/client-control/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 dc7b084..5b606a2 100644
--- a/docs/apisix/2.4/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/consumer-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 9843e01..1616f13 100644
--- a/docs/apisix/2.4/plugins/cors/index.html
+++ b/docs/apisix/2.4/plugins/cors/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5ca5afc..fa7be7a 100644
--- a/docs/apisix/2.4/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 542af13..388433b 100644
--- a/docs/apisix/2.4/plugins/echo/index.html
+++ b/docs/apisix/2.4/plugins/echo/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 62fed84..adcbd65 100644
--- a/docs/apisix/2.4/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.4/plugins/error-log-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 bfd14f0..886becc 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
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 beba7d9..fc0becf 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
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0bdb035..82864b3 100644
--- a/docs/apisix/2.4/plugins/fault-injection/index.html
+++ b/docs/apisix/2.4/plugins/fault-injection/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 41aa2fc..d770ad0 100644
--- a/docs/apisix/2.4/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.4/plugins/grpc-transcode/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 594c210..ba30501 100644
--- a/docs/apisix/2.4/plugins/gzip/index.html
+++ b/docs/apisix/2.4/plugins/gzip/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7912d99..f3710b2 100644
--- a/docs/apisix/2.4/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.4/plugins/hmac-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 52add50..0f56145 100644
--- a/docs/apisix/2.4/plugins/http-logger/index.html
+++ b/docs/apisix/2.4/plugins/http-logger/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 38df626..0e03871 100644
--- a/docs/apisix/2.4/plugins/index.html
+++ b/docs/apisix/2.4/plugins/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 648adf2..727bd15 100644
--- a/docs/apisix/2.4/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ip-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b46efdb..f7637a0 100644
--- a/docs/apisix/2.4/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.4/plugins/jwt-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 c9c94c1..c647a4b 100644
--- a/docs/apisix/2.4/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.4/plugins/kafka-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 11fed1b..9527095 100644
--- a/docs/apisix/2.4/plugins/key-auth/index.html
+++ b/docs/apisix/2.4/plugins/key-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 23fc6cb..a3e4b81 100644
--- a/docs/apisix/2.4/plugins/limit-conn/index.html
+++ b/docs/apisix/2.4/plugins/limit-conn/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b714886..13699f0 100644
--- a/docs/apisix/2.4/plugins/limit-count/index.html
+++ b/docs/apisix/2.4/plugins/limit-count/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f4ab0cf..ff51ab8 100644
--- a/docs/apisix/2.4/plugins/limit-req/index.html
+++ b/docs/apisix/2.4/plugins/limit-req/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 d62d3cc..11d6dda 100644
--- a/docs/apisix/2.4/plugins/log-rotate/index.html
+++ b/docs/apisix/2.4/plugins/log-rotate/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0245de4..cb0a2e0 100644
--- a/docs/apisix/2.4/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.4/plugins/mqtt-proxy/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 fe20925..1d7a0ed 100644
--- a/docs/apisix/2.4/plugins/node-status/index.html
+++ b/docs/apisix/2.4/plugins/node-status/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 165e7b5..1408722 100644
--- a/docs/apisix/2.4/plugins/openid-connect/index.html
+++ b/docs/apisix/2.4/plugins/openid-connect/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5c7bf55..77558e5 100644
--- a/docs/apisix/2.4/plugins/prometheus/index.html
+++ b/docs/apisix/2.4/plugins/prometheus/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 aa7b9f0..0245095 100644
--- a/docs/apisix/2.4/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.4/plugins/proxy-cache/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ae42010..ca27304 100644
--- a/docs/apisix/2.4/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.4/plugins/proxy-mirror/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ae38e2b..0ec1a19 100644
--- a/docs/apisix/2.4/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/proxy-rewrite/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 887d849..8929c17 100644
--- a/docs/apisix/2.4/plugins/real-ip/index.html
+++ b/docs/apisix/2.4/plugins/real-ip/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7754297..a8b0ee6 100644
--- a/docs/apisix/2.4/plugins/redirect/index.html
+++ b/docs/apisix/2.4/plugins/redirect/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 98bfe1e..b00cf64 100644
--- a/docs/apisix/2.4/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/referer-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 a6a1fbc..4a0ba41 100644
--- a/docs/apisix/2.4/plugins/request-id/index.html
+++ b/docs/apisix/2.4/plugins/request-id/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 bdf2555..42deeeb 100644
--- a/docs/apisix/2.4/plugins/request-validation/index.html
+++ b/docs/apisix/2.4/plugins/request-validation/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ef6cc6e..42fe5c6 100644
--- a/docs/apisix/2.4/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/response-rewrite/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 fd76262..1335467 100644
--- a/docs/apisix/2.4/plugins/server-info/index.html
+++ b/docs/apisix/2.4/plugins/server-info/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 be341c3..76c58f5 100644
--- a/docs/apisix/2.4/plugins/serverless/index.html
+++ b/docs/apisix/2.4/plugins/serverless/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 d60ba9e..4c762ff 100644
--- a/docs/apisix/2.4/plugins/skywalking/index.html
+++ b/docs/apisix/2.4/plugins/skywalking/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 27958b4..3ae1ded 100644
--- a/docs/apisix/2.4/plugins/sls-logger/index.html
+++ b/docs/apisix/2.4/plugins/sls-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 c3eef5f..55a1a75 100644
--- a/docs/apisix/2.4/plugins/syslog/index.html
+++ b/docs/apisix/2.4/plugins/syslog/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 bec2f99..a6dd092 100644
--- a/docs/apisix/2.4/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.4/plugins/tcp-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 2c043cd..5de8ef6 100644
--- a/docs/apisix/2.4/plugins/traffic-split/index.html
+++ b/docs/apisix/2.4/plugins/traffic-split/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b24344c..bdddc3d 100644
--- a/docs/apisix/2.4/plugins/ua-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ua-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 eeb208d..3b151eb 100644
--- a/docs/apisix/2.4/plugins/udp-logger/index.html
+++ b/docs/apisix/2.4/plugins/udp-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 d934cf0..36ff1ea 100644
--- a/docs/apisix/2.4/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.4/plugins/uri-blocker/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 9b3ec40..7c6bf22 100644
--- a/docs/apisix/2.4/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.4/plugins/wolf-rbac/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 fc9acc1..95bfe69 100644
--- a/docs/apisix/2.4/plugins/zipkin/index.html
+++ b/docs/apisix/2.4/plugins/zipkin/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7955a20..06098d9 100644
--- a/docs/apisix/2.4/powered-by/index.html
+++ b/docs/apisix/2.4/powered-by/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0982a57..5042d67 100644
--- a/docs/apisix/2.4/profile/index.html
+++ b/docs/apisix/2.4/profile/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 1f4c73c..26cd81e 100644
--- a/docs/apisix/2.4/router-radixtree/index.html
+++ b/docs/apisix/2.4/router-radixtree/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7aa8a56..c29ca3a 100644
--- a/docs/apisix/2.4/stand-alone/index.html
+++ b/docs/apisix/2.4/stand-alone/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 149360a..c633b2b 100644
--- a/docs/apisix/2.4/stream-proxy/index.html
+++ b/docs/apisix/2.4/stream-proxy/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 bb36da2..b93efe3 100644
--- a/docs/apisix/2.4/tags/index.html
+++ b/docs/apisix/2.4/tags/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ba09099..622303c 100644
--- a/docs/apisix/2.5/FAQ/index.html
+++ b/docs/apisix/2.5/FAQ/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 7dd8e88..0c2c41a 100644
--- a/docs/apisix/2.5/IGNORE_DOC/index.html
+++ b/docs/apisix/2.5/IGNORE_DOC/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 584970f..51015fe 100644
--- a/docs/apisix/2.5/admin-api/index.html
+++ b/docs/apisix/2.5/admin-api/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 4ab1d37..a507bc4 100644
--- a/docs/apisix/2.5/architecture-design/apisix/index.html
+++ b/docs/apisix/2.5/architecture-design/apisix/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 e1ca60d..e11de82 100644
--- a/docs/apisix/2.5/architecture-design/consumer/index.html
+++ b/docs/apisix/2.5/architecture-design/consumer/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 670fc7e..703817f 100644
--- a/docs/apisix/2.5/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.5/architecture-design/debug-mode/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 fe67b76..5e00b66 100644
--- a/docs/apisix/2.5/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.5/architecture-design/global-rule/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ffc3462..786cd76 100644
--- a/docs/apisix/2.5/architecture-design/index.html
+++ b/docs/apisix/2.5/architecture-design/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 ebe355e..a2998b8 100644
--- a/docs/apisix/2.5/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin-config/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 0539dab..019917f 100644
--- a/docs/apisix/2.5/architecture-design/plugin/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f39e51e..9548f32 100644
--- a/docs/apisix/2.5/architecture-design/route/index.html
+++ b/docs/apisix/2.5/architecture-design/route/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 8eda98b..4196030 100644
--- a/docs/apisix/2.5/architecture-design/router/index.html
+++ b/docs/apisix/2.5/architecture-design/router/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 5aa42dd..5f2dc36 100644
--- a/docs/apisix/2.5/architecture-design/script/index.html
+++ b/docs/apisix/2.5/architecture-design/script/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 b0bf1c0..07db3f5 100644
--- a/docs/apisix/2.5/architecture-design/service/index.html
+++ b/docs/apisix/2.5/architecture-design/service/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 9a7f1ad..346a41b 100644
--- a/docs/apisix/2.5/architecture-design/upstream/index.html
+++ b/docs/apisix/2.5/architecture-design/upstream/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 c1286da..e4dcefc 100644
--- a/docs/apisix/2.5/aws/index.html
+++ b/docs/apisix/2.5/aws/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.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 f40cf8e..c01be10 100644
--- a/docs/apisix/2.5/batch-processor/index.html
+++ b/docs/apisix/2.5/batch-processor/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/benchmark/index.html b/docs/apisix/2.5/benchmark/index.html
index 85e23a0..d52500f 100644
--- a/docs/apisix/2.5/benchmark/index.html
+++ b/docs/apisix/2.5/benchmark/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/certificate/index.html b/docs/apisix/2.5/certificate/index.html
index 0bae636..64bf499 100644
--- a/docs/apisix/2.5/certificate/index.html
+++ b/docs/apisix/2.5/certificate/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/control-api/index.html b/docs/apisix/2.5/control-api/index.html
index 0c9abc0..0f204eb 100644
--- a/docs/apisix/2.5/control-api/index.html
+++ b/docs/apisix/2.5/control-api/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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 depended on 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.5/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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/customize-nginx-configuration/index.html b/docs/apisix/2.5/customize-nginx-configuration/index.html
index 6e6fba6..834161ca 100644
--- a/docs/apisix/2.5/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.5/customize-nginx-configuration/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/debug-function/index.html b/docs/apisix/2.5/debug-function/index.html
index 0dc5ae9..d0fc453 100644
--- a/docs/apisix/2.5/debug-function/index.html
+++ b/docs/apisix/2.5/debug-function/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/consul_kv/index.html b/docs/apisix/2.5/discovery/consul_kv/index.html
index e657530..c14efd3 100644
--- a/docs/apisix/2.5/discovery/consul_kv/index.html
+++ b/docs/apisix/2.5/discovery/consul_kv/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/dns/index.html b/docs/apisix/2.5/discovery/dns/index.html
index 3df0d79..5748738 100644
--- a/docs/apisix/2.5/discovery/dns/index.html
+++ b/docs/apisix/2.5/discovery/dns/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -31,7 +31,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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/eureka/index.html b/docs/apisix/2.5/discovery/eureka/index.html
index ce36be2..e00de6f 100644
--- a/docs/apisix/2.5/discovery/eureka/index.html
+++ b/docs/apisix/2.5/discovery/eureka/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
 reading from <a href="/docs/apisix/2.5/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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/index.html b/docs/apisix/2.5/discovery/index.html
index 0476cd5..a6bd851 100644
--- a/docs/apisix/2.5/discovery/index.html
+++ b/docs/apisix/2.5/discovery/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/nacos/index.html b/docs/apisix/2.5/discovery/nacos/index.html
index 54359c6..2b1d7d4 100644
--- a/docs/apisix/2.5/discovery/nacos/index.html
+++ b/docs/apisix/2.5/discovery/nacos/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/dns/index.html b/docs/apisix/2.5/dns/index.html
index 3d89db7..6044a4b 100644
--- a/docs/apisix/2.5/dns/index.html
+++ b/docs/apisix/2.5/dns/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html
index 8cd578a..a9e8a00 100644
--- a/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/external-plugin/index.html b/docs/apisix/2.5/external-plugin/index.html
index c272f2f..e1cdd5df 100644
--- a/docs/apisix/2.5/external-plugin/index.html
+++ b/docs/apisix/2.5/external-plugin/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/getting-started/index.html b/docs/apisix/2.5/getting-started/index.html
index d8b69d9..bfe5696 100644
--- a/docs/apisix/2.5/getting-started/index.html
+++ b/docs/apisix/2.5/getting-started/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/grpc-proxy/index.html b/docs/apisix/2.5/grpc-proxy/index.html
index f25702e..5203fd0 100644
--- a/docs/apisix/2.5/grpc-proxy/index.html
+++ b/docs/apisix/2.5/grpc-proxy/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/health-check/index.html b/docs/apisix/2.5/health-check/index.html
index f9190cf..5b79f43 100644
--- a/docs/apisix/2.5/health-check/index.html
+++ b/docs/apisix/2.5/health-check/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/how-to-build/index.html b/docs/apisix/2.5/how-to-build/index.html
index c87f9dd..a973865 100644
--- a/docs/apisix/2.5/how-to-build/index.html
+++ b/docs/apisix/2.5/how-to-build/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -34,7 +34,7 @@ Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBloc
 </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 [...]
 If you need those features, you can build OpenResty with
 <a href="https://raw.githubusercontent.com/api7/apisix-build-tools/master/build-apisix-openresty.sh" target="_blank" rel="noopener noreferrer">this build script</a>.</p></div><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/how-to-build.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="2 [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/https/index.html b/docs/apisix/2.5/https/index.html
index 7280966..4dc01b1 100644
--- a/docs/apisix/2.5/https/index.html
+++ b/docs/apisix/2.5/https/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/install-dependencies/index.html b/docs/apisix/2.5/install-dependencies/index.html
index 79dfcad..c84ad60 100644
--- a/docs/apisix/2.5/install-dependencies/index.html
+++ b/docs/apisix/2.5/install-dependencies/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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">brew services start etcd</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 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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/internal/testing-framework/index.html b/docs/apisix/2.5/internal/testing-framework/index.html
index a8004c7..98316ed 100644
--- a/docs/apisix/2.5/internal/testing-framework/index.html
+++ b/docs/apisix/2.5/internal/testing-framework/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/mtls/index.html b/docs/apisix/2.5/mtls/index.html
index e12ecdd..842ecba 100644
--- a/docs/apisix/2.5/mtls/index.html
+++ b/docs/apisix/2.5/mtls/index.html
@@ -16,14 +16,14 @@
 <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 for 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="ht [...]
-<link rel="preload" href="/assets/js/runtime~main.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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">admin_api_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">admin_ssl_ca_cert</span><span class="token punctuation" style="color:#393A34">:</sp [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugin-develop/index.html b/docs/apisix/2.5/plugin-develop/index.html
index 2be961d..5f58081 100644
--- a/docs/apisix/2.5/plugin-develop/index.html
+++ b/docs/apisix/2.5/plugin-develop/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -54,7 +54,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.5/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.5/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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugin-interceptors/index.html b/docs/apisix/2.5/plugin-interceptors/index.html
index 7e621e1..2194535 100644
--- a/docs/apisix/2.5/plugin-interceptors/index.html
+++ b/docs/apisix/2.5/plugin-interceptors/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.5/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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/api-breaker/index.html b/docs/apisix/2.5/plugins/api-breaker/index.html
index 85fde33..955df24 100644
--- a/docs/apisix/2.5/plugins/api-breaker/index.html
+++ b/docs/apisix/2.5/plugins/api-breaker/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/authz-casbin/index.html b/docs/apisix/2.5/plugins/authz-casbin/index.html
index bc417ed..730ddd4 100644
--- a/docs/apisix/2.5/plugins/authz-casbin/index.html
+++ b/docs/apisix/2.5/plugins/authz-casbin/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/authz-keycloak/index.html b/docs/apisix/2.5/plugins/authz-keycloak/index.html
index cb96cd9..6408e80 100644
--- a/docs/apisix/2.5/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.5/plugins/authz-keycloak/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/basic-auth/index.html b/docs/apisix/2.5/plugins/basic-auth/index.html
index 4ac02ce..0b2a8aa 100644
--- a/docs/apisix/2.5/plugins/basic-auth/index.html
+++ b/docs/apisix/2.5/plugins/basic-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/batch-requests/index.html b/docs/apisix/2.5/plugins/batch-requests/index.html
index e1e0707..50ca227 100644
--- a/docs/apisix/2.5/plugins/batch-requests/index.html
+++ b/docs/apisix/2.5/plugins/batch-requests/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
 You may need to use <a href="/docs/apisix/2.5/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor 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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/client-control/index.html b/docs/apisix/2.5/plugins/client-control/index.html
index 9839f8a..44863f5 100644
--- a/docs/apisix/2.5/plugins/client-control/index.html
+++ b/docs/apisix/2.5/plugins/client-control/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/consumer-restriction/index.html b/docs/apisix/2.5/plugins/consumer-restriction/index.html
index d621b85..786764c 100644
--- a/docs/apisix/2.5/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.5/plugins/consumer-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/cors/index.html b/docs/apisix/2.5/plugins/cors/index.html
index 22ab855..f590d32 100644
--- a/docs/apisix/2.5/plugins/cors/index.html
+++ b/docs/apisix/2.5/plugins/cors/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/dubbo-proxy/index.html b/docs/apisix/2.5/plugins/dubbo-proxy/index.html
index 8b86763..81caf14 100644
--- a/docs/apisix/2.5/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.5/plugins/dubbo-proxy/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/echo/index.html b/docs/apisix/2.5/plugins/echo/index.html
index 15f282e..cb9eccf 100644
--- a/docs/apisix/2.5/plugins/echo/index.html
+++ b/docs/apisix/2.5/plugins/echo/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/error-log-logger/index.html b/docs/apisix/2.5/plugins/error-log-logger/index.html
index 249538c..d9e87ea 100644
--- a/docs/apisix/2.5/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.5/plugins/error-log-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
 <a href="/docs/apisix/2.5/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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/ext-plugin-post-req/index.html b/docs/apisix/2.5/plugins/ext-plugin-post-req/index.html
index 98e2706..c4f6910 100644
--- a/docs/apisix/2.5/plugins/ext-plugin-post-req/index.html
+++ b/docs/apisix/2.5/plugins/ext-plugin-post-req/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
 before proxying to the upstream.</p><p>See the documentation of <a href="/docs/apisix/2.5/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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/ext-plugin-pre-req/index.html b/docs/apisix/2.5/plugins/ext-plugin-pre-req/index.html
index 0a1bc89..2d7a846 100644
--- a/docs/apisix/2.5/plugins/ext-plugin-pre-req/index.html
+++ b/docs/apisix/2.5/plugins/ext-plugin-pre-req/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/fault-injection/index.html b/docs/apisix/2.5/plugins/fault-injection/index.html
index 1123952..baba0b1 100644
--- a/docs/apisix/2.5/plugins/fault-injection/index.html
+++ b/docs/apisix/2.5/plugins/fault-injection/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/grpc-transcode/index.html b/docs/apisix/2.5/plugins/grpc-transcode/index.html
index 570d407..ca4ef11 100644
--- a/docs/apisix/2.5/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.5/plugins/grpc-transcode/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/gzip/index.html b/docs/apisix/2.5/plugins/gzip/index.html
index 4da0105..66611d8 100644
--- a/docs/apisix/2.5/plugins/gzip/index.html
+++ b/docs/apisix/2.5/plugins/gzip/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/hmac-auth/index.html b/docs/apisix/2.5/plugins/hmac-auth/index.html
index 18e7c9b..d5d5d72 100644
--- a/docs/apisix/2.5/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.5/plugins/hmac-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -34,7 +34,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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/http-logger/index.html b/docs/apisix/2.5/plugins/http-logger/index.html
index 9666ba2..2eb3817 100644
--- a/docs/apisix/2.5/plugins/http-logger/index.html
+++ b/docs/apisix/2.5/plugins/http-logger/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/index.html b/docs/apisix/2.5/plugins/index.html
index 6a0865d..206aff5 100644
--- a/docs/apisix/2.5/plugins/index.html
+++ b/docs/apisix/2.5/plugins/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.5/stand-alone">stand alone mode</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div cla [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/ip-restriction/index.html b/docs/apisix/2.5/plugins/ip-restriction/index.html
index e2cc433..168827d 100644
--- a/docs/apisix/2.5/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.5/plugins/ip-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/jwt-auth/index.html b/docs/apisix/2.5/plugins/jwt-auth/index.html
index aa16ee2..d02fb1e 100644
--- a/docs/apisix/2.5/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.5/plugins/jwt-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -30,7 +30,7 @@ You may need to use <a href="/docs/apisix/2.5/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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/kafka-logger/index.html b/docs/apisix/2.5/plugins/kafka-logger/index.html
index bb60f24..4fcb4c1 100644
--- a/docs/apisix/2.5/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.5/plugins/kafka-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/key-auth/index.html b/docs/apisix/2.5/plugins/key-auth/index.html
index 74ee145..e0d9794 100644
--- a/docs/apisix/2.5/plugins/key-auth/index.html
+++ b/docs/apisix/2.5/plugins/key-auth/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/limit-conn/index.html b/docs/apisix/2.5/plugins/limit-conn/index.html
index d1c3ed0..d5d09ca 100644
--- a/docs/apisix/2.5/plugins/limit-conn/index.html
+++ b/docs/apisix/2.5/plugins/limit-conn/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/limit-count/index.html b/docs/apisix/2.5/plugins/limit-count/index.html
index f00fcc7..6fe4af3 100644
--- a/docs/apisix/2.5/plugins/limit-count/index.html
+++ b/docs/apisix/2.5/plugins/limit-count/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/limit-req/index.html b/docs/apisix/2.5/plugins/limit-req/index.html
index 5a25ba3..0ea1abb 100644
--- a/docs/apisix/2.5/plugins/limit-req/index.html
+++ b/docs/apisix/2.5/plugins/limit-req/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/log-rotate/index.html b/docs/apisix/2.5/plugins/log-rotate/index.html
index dc0dc57..51db883 100644
--- a/docs/apisix/2.5/plugins/log-rotate/index.html
+++ b/docs/apisix/2.5/plugins/log-rotate/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/mqtt-proxy/index.html b/docs/apisix/2.5/plugins/mqtt-proxy/index.html
index 9e74355..b7e3622 100644
--- a/docs/apisix/2.5/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.5/plugins/mqtt-proxy/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/node-status/index.html b/docs/apisix/2.5/plugins/node-status/index.html
index b97c3cd..400ffe9 100644
--- a/docs/apisix/2.5/plugins/node-status/index.html
+++ b/docs/apisix/2.5/plugins/node-status/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/openid-connect/index.html b/docs/apisix/2.5/plugins/openid-connect/index.html
index 685e6e2..58c20fe 100644
--- a/docs/apisix/2.5/plugins/openid-connect/index.html
+++ b/docs/apisix/2.5/plugins/openid-connect/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/prometheus/index.html b/docs/apisix/2.5/plugins/prometheus/index.html
index 7212bad..2111311 100644
--- a/docs/apisix/2.5/plugins/prometheus/index.html
+++ b/docs/apisix/2.5/plugins/prometheus/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -32,7 +32,7 @@ these metric data.</p><p>For example like this:</p><div class="codeBlockContaine
 | consumer | The <code>consumer_name</code> of the consumer that matches the request. If it does not match, the default value is an empty string. |
 | node     | The <code>ip</code> of the upstream node. |</p></li><li><p><code>Info</code>: the information of APISIX node.</p></li></ul><p>Here is the original metric data of APISIX:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><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 [...]
 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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/proxy-cache/index.html b/docs/apisix/2.5/plugins/proxy-cache/index.html
index 4e353a0..e98257d 100644
--- a/docs/apisix/2.5/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.5/plugins/proxy-cache/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/proxy-mirror/index.html b/docs/apisix/2.5/plugins/proxy-mirror/index.html
index edc836e..c96d2dc 100644
--- a/docs/apisix/2.5/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.5/plugins/proxy-mirror/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/proxy-rewrite/index.html b/docs/apisix/2.5/plugins/proxy-rewrite/index.html
index bf0fa4f..873b6f7 100644
--- a/docs/apisix/2.5/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.5/plugins/proxy-rewrite/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/real-ip/index.html b/docs/apisix/2.5/plugins/real-ip/index.html
index c3011b7..87efe93 100644
--- a/docs/apisix/2.5/plugins/real-ip/index.html
+++ b/docs/apisix/2.5/plugins/real-ip/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/redirect/index.html b/docs/apisix/2.5/plugins/redirect/index.html
index bea5abd..5d5c84b 100644
--- a/docs/apisix/2.5/plugins/redirect/index.html
+++ b/docs/apisix/2.5/plugins/redirect/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/referer-restriction/index.html b/docs/apisix/2.5/plugins/referer-restriction/index.html
index 8b24ae9..2ec421d 100644
--- a/docs/apisix/2.5/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.5/plugins/referer-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/request-id/index.html b/docs/apisix/2.5/plugins/request-id/index.html
index f099823..1691653 100644
--- a/docs/apisix/2.5/plugins/request-id/index.html
+++ b/docs/apisix/2.5/plugins/request-id/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/request-validation/index.html b/docs/apisix/2.5/plugins/request-validation/index.html
index f25b907..48c7b10 100644
--- a/docs/apisix/2.5/plugins/request-validation/index.html
+++ b/docs/apisix/2.5/plugins/request-validation/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/response-rewrite/index.html b/docs/apisix/2.5/plugins/response-rewrite/index.html
index 90682e6..3c4c4a1 100644
--- a/docs/apisix/2.5/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.5/plugins/response-rewrite/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/server-info/index.html b/docs/apisix/2.5/plugins/server-info/index.html
index d160720..cf6ab56 100644
--- a/docs/apisix/2.5/plugins/server-info/index.html
+++ b/docs/apisix/2.5/plugins/server-info/index.html
@@ -16,13 +16,13 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
-<script src="/assets/js/runtime~main.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/serverless/index.html b/docs/apisix/2.5/plugins/serverless/index.html
index bc73050..e7ccaac 100644
--- a/docs/apisix/2.5/plugins/serverless/index.html
+++ b/docs/apisix/2.5/plugins/serverless/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/skywalking/index.html b/docs/apisix/2.5/plugins/skywalking/index.html
index 8d69370..e4affec 100644
--- a/docs/apisix/2.5/plugins/skywalking/index.html
+++ b/docs/apisix/2.5/plugins/skywalking/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/sls-logger/index.html b/docs/apisix/2.5/plugins/sls-logger/index.html
index 1e2dd48..d584000 100644
--- a/docs/apisix/2.5/plugins/sls-logger/index.html
+++ b/docs/apisix/2.5/plugins/sls-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -25,7 +25,7 @@
 <a href="/docs/apisix/2.5/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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/syslog/index.html b/docs/apisix/2.5/plugins/syslog/index.html
index 050febb..49b20cf 100644
--- a/docs/apisix/2.5/plugins/syslog/index.html
+++ b/docs/apisix/2.5/plugins/syslog/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/tcp-logger/index.html b/docs/apisix/2.5/plugins/tcp-logger/index.html
index 47244bb..8d796e3 100644
--- a/docs/apisix/2.5/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.5/plugins/tcp-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
 <a href="/docs/apisix/2.5/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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/traffic-split/index.html b/docs/apisix/2.5/plugins/traffic-split/index.html
index 7d6503a..a889657 100644
--- a/docs/apisix/2.5/plugins/traffic-split/index.html
+++ b/docs/apisix/2.5/plugins/traffic-split/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -36,7 +36,7 @@ service_name, discovery_type, checks, retries, desc, scheme, labels, create_time
 </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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/ua-restriction/index.html b/docs/apisix/2.5/plugins/ua-restriction/index.html
index 4f20794..78ae86d 100644
--- a/docs/apisix/2.5/plugins/ua-restriction/index.html
+++ b/docs/apisix/2.5/plugins/ua-restriction/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/udp-logger/index.html b/docs/apisix/2.5/plugins/udp-logger/index.html
index f5a4c4d..caf4a82 100644
--- a/docs/apisix/2.5/plugins/udp-logger/index.html
+++ b/docs/apisix/2.5/plugins/udp-logger/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -24,7 +24,7 @@
 <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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">join #apisix channel</a> [...]
 <a href="/docs/apisix/2.5/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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/uri-blocker/index.html b/docs/apisix/2.5/plugins/uri-blocker/index.html
index 2826c19..c3020ae 100644
--- a/docs/apisix/2.5/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.5/plugins/uri-blocker/index.html
@@ -16,14 +16,14 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.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-nggtva4i-hDCsW1S35MuZ2g_2DgVDGg">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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/wolf-rbac/index.html b/docs/apisix/2.5/plugins/wolf-rbac/index.html
index 42344c3..beddd93 100644
--- a/docs/apisix/2.5/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.5/plugins/wolf-rbac/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c0aa10e9.js" as="script">
 <link rel="preload" href="/assets/js/main.19d7ebc5.js" as="script">
 </head>
 <body>
@@ -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.2e33f22a.js"></script>
+<script src="/assets/js/runtime~main.c0aa10e9.js"></script>
 <script src="/assets/js/main.19d7ebc5.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/zipkin/index.html b/docs/apisix/2.5/plugins/zipkin/index.html
index a52e382..535480a 100644
--- a/docs/apisix/2.5/plugins/zipkin/index.html
+++ b/docs/apisix/2.5/plugins/zipkin/index.html
@@ -16,7 +16,7 @@
 <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.2e33f22a.js" as="script">
... 44982 lines suppressed ...