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/04 23:54:21 UTC

[apisix-website] branch asf-site updated: deploy: 59a754bac8d079cc73a903aa0059d0681a1baad6

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 09f9fef  deploy: 59a754bac8d079cc73a903aa0059d0681a1baad6
09f9fef is described below

commit 09f9fef067bd9a9a1e0a8497e4e17fca6cec8dad
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Mon Oct 4 23:54:10 2021 +0000

    deploy: 59a754bac8d079cc73a903aa0059d0681a1baad6
---
 404.html                                           |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  12 ++++-----
 .../Apache-APISIX-Incubator-Journey/index.html     |  10 ++++----
 .../Apache-APISIX-Kubernetes-Ingress/index.html    |  10 ++++----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html |  12 ++++-----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../Speed-Limiting-With-Apache-APISIX/index.html   |  10 ++++----
 .../index.html                                     |  10 ++++----
 articles/The-Appeal-of-OpenSource/index.html       |  10 ++++----
 articles/The-Evolution-of-Apache-APISIX/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 articles/archive/index.html                        |  10 ++++----
 articles/atom.xml                                  |   6 ++---
 articles/index.html                                |  12 ++++-----
 articles/page/2/index.html                         |  10 ++++----
 articles/rss.xml                                   |   6 ++---
 assets/css/styles.28b243d6.css                     |   1 +
 assets/css/styles.8bf52f50.css                     |   1 -
 ...nNeue-Bold-4bbe26b1bc13e3d52f28ed99e0c08d57.otf | Bin 0 -> 129360 bytes
 ...nNeue-Demi-2d6699d45ef9ce6a35e48ee0bd2d247d.otf | Bin 0 -> 129316 bytes
 ...-ExtraBold-04f4315b09a466ca57bd3fffb9b3c9f2.otf | Bin 0 -> 130720 bytes
 ...Neue-Light-76a7518e37acd82ee00d89c08d199b53.otf | Bin 0 -> 127560 bytes
 ...eue-Medium-307430e743b2f678b6f901779dedbcb2.otf | Bin 0 -> 128648 bytes
 ...-dashboard-16fe28555ad3d92a408cde727e13e986.png | Bin 0 -> 113485 bytes
 ...ode-sample-36aab6d449dd84b1f7bdc40f5a88ee67.png | Bin 0 -> 105948 bytes
 ...pluginised-4fdd31033ed294a3d95585df6a2066f8.png | Bin 0 -> 169638 bytes
 .../rocket-34b5b620fdca482c490049f803c6e937.gif    | Bin 0 -> 144400 bytes
 assets/js/084f2827.b9b83d41.js                     |   1 +
 assets/js/09b17eb5.07e0f284.js                     |   1 +
 assets/js/09b17eb5.a2ea3157.js                     |   1 -
 assets/js/0c6519bf.2727357f.js                     |   1 +
 assets/js/19945770.27d618f4.js                     |   1 +
 assets/js/19945770.908dcfe4.js                     |   1 -
 assets/js/1be78505.27c647e2.js                     |   1 +
 assets/js/1be78505.c9b9244f.js                     |   1 -
 assets/js/2de4608a.c11425e4.js                     |   1 +
 assets/js/3393d167.4de9765f.js                     |   1 +
 assets/js/3393d167.4e39f0e3.js                     |   1 -
 assets/js/358566b4.52622cf2.js                     |   1 -
 assets/js/358566b4.c113c2b3.js                     |   1 +
 assets/js/3892d75f.2129e3fa.js                     |   1 +
 assets/js/3892d75f.7c9ae0c6.js                     |   1 -
 assets/js/3dc9f306.23352beb.js                     |   1 -
 assets/js/3dc9f306.dc3bafb8.js                     |   1 +
 assets/js/3eac96fe.3b4cbf5b.js                     |   1 +
 assets/js/40fb2fae.2475c7c8.js                     |   1 -
 assets/js/40fb2fae.a8656b2d.js                     |   1 +
 assets/js/4c20006b.7233bc51.js                     |   1 +
 assets/js/4c20006b.cc23fbcb.js                     |   1 -
 assets/js/507e1a4c.6c4e90ab.js                     |   1 -
 assets/js/507e1a4c.aed1cf27.js                     |   1 +
 assets/js/50facf8e.052ce378.js                     |   1 +
 assets/js/50facf8e.4caa2640.js                     |   1 -
 assets/js/5364ab9a.1646a578.js                     |   1 +
 assets/js/542fd41f.5825f225.js                     |   1 +
 assets/js/542fd41f.700efb76.js                     |   1 -
 assets/js/58a3f426.df2e4633.js                     |   1 +
 assets/js/601c6eaa.729b6871.js                     |   1 +
 assets/js/601c6eaa.8e633875.js                     |   1 -
 assets/js/62479209.aa38aeac.js                     |   1 +
 assets/js/66fbb9c2.71267107.js                     |   1 +
 assets/js/66fbb9c2.a81141da.js                     |   1 -
 assets/js/6b3cc1ec.9d5b2a65.js                     |   1 -
 assets/js/6b3cc1ec.d0269de6.js                     |   1 +
 assets/js/7a19ed90.acca04f3.js                     |   1 +
 assets/js/7af3052c.61a9214b.js                     |   1 -
 assets/js/7af3052c.9983dd86.js                     |   1 +
 assets/js/80791de8.38966ab9.js                     |   1 -
 assets/js/80791de8.bad5c9e6.js                     |   1 +
 assets/js/8e784bf3.4f29c152.js                     |   1 -
 assets/js/8e784bf3.bbe0529d.js                     |   1 +
 assets/js/8f700fa6.16152054.js                     |   1 +
 assets/js/8f700fa6.428ad966.js                     |   1 -
 assets/js/90fc8a94.70f5ae2d.js                     |   1 -
 assets/js/90fc8a94.f3fa5490.js                     |   1 +
 assets/js/941960b1.15214cc4.js                     |   1 -
 assets/js/941960b1.bf7132dd.js                     |   1 +
 assets/js/97082.654a376c.js                        |   2 ++
 assets/js/97082.654a376c.js.LICENSE.txt            |   9 +++++++
 assets/js/adbb350b.3499b7c6.js                     |   1 +
 assets/js/adbb350b.6664693d.js                     |   1 -
 assets/js/c4f5d8e4.6fc9671f.js                     |   1 +
 assets/js/c4f5d8e4.7c3454c2.js                     |   1 -
 assets/js/d18db9b0.4ec7eff7.js                     |   1 -
 assets/js/d18db9b0.72a517e2.js                     |   1 +
 assets/js/main.af91850a.js                         |   2 ++
 .../js/main.af91850a.js.LICENSE.txt                |   0
 assets/js/main.b2d4dc71.js                         |   2 --
 assets/js/runtime~main.a97072e1.js                 |   1 -
 assets/js/runtime~main.c3ccebff.js                 |   1 +
 .../apisix-59686252808d5d79bee48ec5eaee4809.mp4    | Bin 0 -> 6004471 bytes
 .../index.html                                     |  10 ++++----
 .../21/run-ingress-apisix-on-amazon-eks/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../06/29/release-apache-apisix-2.7-en/index.html  |  10 ++++----
 .../07/06/celebrate-200-contributors/index.html    |  10 ++++----
 .../07/28/release-apache-apisix-2.8-en/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   |  10 ++++----
 .../08/27/release-apache-apisix-2.9-en/index.html  |  10 ++++----
 .../09/29/release-apache-apisix-2.10-en/index.html |  10 ++++----
 .../09/29/release-apache-apisix-2.10/index.html    |  10 ++++----
 blog/2021/09/30/weekly-report/index.html           |  10 ++++----
 blog/2021/10/01/openEuler/index.html               |  10 ++++----
 blog/archive/index.html                            |  10 ++++----
 blog/index.html                                    |  10 ++++----
 blog/page/2/index.html                             |  10 ++++----
 blog/tags/community/index.html                     |  10 ++++----
 blog/tags/events/index.html                        |  10 ++++----
 blog/tags/index.html                               |  10 ++++----
 blog/tags/practical-case/index.html                |  10 ++++----
 blog/tags/release/index.html                       |  10 ++++----
 blog/tags/security/index.html                      |  10 ++++----
 blog/tags/technology/index.html                    |  10 ++++----
 docs/apisix/2.10.0/FAQ/index.html                  |  10 ++++----
 docs/apisix/2.10.0/IGNORE_DOC/index.html           |  10 ++++----
 docs/apisix/2.10.0/admin-api/index.html            |  10 ++++----
 .../2.10.0/architecture-design/apisix/index.html   |  10 ++++----
 .../2.10.0/architecture-design/consumer/index.html |  10 ++++----
 .../architecture-design/debug-mode/index.html      |  10 ++++----
 .../architecture-design/global-rule/index.html     |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.10.0/architecture-design/plugin/index.html   |  10 ++++----
 .../2.10.0/architecture-design/route/index.html    |  10 ++++----
 .../2.10.0/architecture-design/router/index.html   |  10 ++++----
 .../2.10.0/architecture-design/script/index.html   |  10 ++++----
 .../2.10.0/architecture-design/service/index.html  |  10 ++++----
 .../2.10.0/architecture-design/upstream/index.html |  10 ++++----
 docs/apisix/2.10.0/aws/index.html                  |  10 ++++----
 docs/apisix/2.10.0/batch-processor/index.html      |  10 ++++----
 docs/apisix/2.10.0/benchmark/index.html            |  10 ++++----
 docs/apisix/2.10.0/certificate/index.html          |  10 ++++----
 docs/apisix/2.10.0/control-api/index.html          |  10 ++++----
 .../customize-nginx-configuration/index.html       |  10 ++++----
 docs/apisix/2.10.0/debug-function/index.html       |  10 ++++----
 docs/apisix/2.10.0/discovery/consul_kv/index.html  |  10 ++++----
 docs/apisix/2.10.0/discovery/dns/index.html        |  10 ++++----
 docs/apisix/2.10.0/discovery/eureka/index.html     |  10 ++++----
 docs/apisix/2.10.0/discovery/index.html            |  10 ++++----
 docs/apisix/2.10.0/discovery/nacos/index.html      |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/apisix/2.10.0/external-plugin/index.html      |  10 ++++----
 docs/apisix/2.10.0/getting-started/index.html      |  10 ++++----
 docs/apisix/2.10.0/grpc-proxy/index.html           |  10 ++++----
 docs/apisix/2.10.0/health-check/index.html         |  10 ++++----
 docs/apisix/2.10.0/how-to-build/index.html         |  10 ++++----
 docs/apisix/2.10.0/install-dependencies/index.html |  10 ++++----
 .../2.10.0/internal/testing-framework/index.html   |  10 ++++----
 docs/apisix/2.10.0/mtls/index.html                 |  10 ++++----
 docs/apisix/2.10.0/plugin-develop/index.html       |  10 ++++----
 docs/apisix/2.10.0/plugin-interceptors/index.html  |  10 ++++----
 docs/apisix/2.10.0/plugins/api-breaker/index.html  |  10 ++++----
 docs/apisix/2.10.0/plugins/authz-casbin/index.html |  10 ++++----
 .../2.10.0/plugins/authz-keycloak/index.html       |  10 ++++----
 docs/apisix/2.10.0/plugins/basic-auth/index.html   |  10 ++++----
 .../2.10.0/plugins/batch-requests/index.html       |  10 ++++----
 .../2.10.0/plugins/client-control/index.html       |  10 ++++----
 .../2.10.0/plugins/consumer-restriction/index.html |  10 ++++----
 docs/apisix/2.10.0/plugins/cors/index.html         |  10 ++++----
 docs/apisix/2.10.0/plugins/dubbo-proxy/index.html  |  10 ++++----
 docs/apisix/2.10.0/plugins/echo/index.html         |  10 ++++----
 .../2.10.0/plugins/error-log-logger/index.html     |  10 ++++----
 .../2.10.0/plugins/ext-plugin-post-req/index.html  |  10 ++++----
 .../2.10.0/plugins/ext-plugin-pre-req/index.html   |  10 ++++----
 .../2.10.0/plugins/fault-injection/index.html      |  10 ++++----
 .../2.10.0/plugins/grpc-transcode/index.html       |  10 ++++----
 docs/apisix/2.10.0/plugins/gzip/index.html         |  10 ++++----
 docs/apisix/2.10.0/plugins/hmac-auth/index.html    |  10 ++++----
 docs/apisix/2.10.0/plugins/http-logger/index.html  |  10 ++++----
 .../2.10.0/plugins/ip-restriction/index.html       |  10 ++++----
 docs/apisix/2.10.0/plugins/jwt-auth/index.html     |  10 ++++----
 docs/apisix/2.10.0/plugins/kafka-logger/index.html |  10 ++++----
 docs/apisix/2.10.0/plugins/key-auth/index.html     |  10 ++++----
 docs/apisix/2.10.0/plugins/limit-conn/index.html   |  10 ++++----
 docs/apisix/2.10.0/plugins/limit-count/index.html  |  10 ++++----
 docs/apisix/2.10.0/plugins/limit-req/index.html    |  10 ++++----
 docs/apisix/2.10.0/plugins/log-rotate/index.html   |  10 ++++----
 docs/apisix/2.10.0/plugins/mqtt-proxy/index.html   |  10 ++++----
 docs/apisix/2.10.0/plugins/node-status/index.html  |  10 ++++----
 .../2.10.0/plugins/openid-connect/index.html       |  10 ++++----
 docs/apisix/2.10.0/plugins/prometheus/index.html   |  10 ++++----
 docs/apisix/2.10.0/plugins/proxy-cache/index.html  |  10 ++++----
 docs/apisix/2.10.0/plugins/proxy-mirror/index.html |  10 ++++----
 .../apisix/2.10.0/plugins/proxy-rewrite/index.html |  10 ++++----
 docs/apisix/2.10.0/plugins/real-ip/index.html      |  10 ++++----
 docs/apisix/2.10.0/plugins/redirect/index.html     |  10 ++++----
 .../2.10.0/plugins/referer-restriction/index.html  |  10 ++++----
 docs/apisix/2.10.0/plugins/request-id/index.html   |  10 ++++----
 .../2.10.0/plugins/request-validation/index.html   |  10 ++++----
 .../2.10.0/plugins/response-rewrite/index.html     |  10 ++++----
 docs/apisix/2.10.0/plugins/server-info/index.html  |  10 ++++----
 docs/apisix/2.10.0/plugins/serverless/index.html   |  10 ++++----
 docs/apisix/2.10.0/plugins/skywalking/index.html   |  10 ++++----
 docs/apisix/2.10.0/plugins/sls-logger/index.html   |  10 ++++----
 docs/apisix/2.10.0/plugins/syslog/index.html       |  10 ++++----
 docs/apisix/2.10.0/plugins/tcp-logger/index.html   |  10 ++++----
 .../apisix/2.10.0/plugins/traffic-split/index.html |  10 ++++----
 .../2.10.0/plugins/ua-restriction/index.html       |  10 ++++----
 docs/apisix/2.10.0/plugins/udp-logger/index.html   |  10 ++++----
 docs/apisix/2.10.0/plugins/uri-blocker/index.html  |  10 ++++----
 docs/apisix/2.10.0/plugins/wolf-rbac/index.html    |  10 ++++----
 docs/apisix/2.10.0/plugins/zipkin/index.html       |  10 ++++----
 docs/apisix/2.10.0/profile/index.html              |  10 ++++----
 docs/apisix/2.10.0/router-radixtree/index.html     |  10 ++++----
 docs/apisix/2.10.0/stand-alone/index.html          |  10 ++++----
 docs/apisix/2.10.0/stream-proxy/index.html         |  10 ++++----
 docs/apisix/2.10.0/tags/index.html                 |  10 ++++----
 docs/apisix/2.4/FAQ/index.html                     |  10 ++++----
 docs/apisix/2.4/IGNORE_DOC/index.html              |  10 ++++----
 docs/apisix/2.4/admin-api/index.html               |  10 ++++----
 .../2.4/architecture-design/apisix/index.html      |  10 ++++----
 .../2.4/architecture-design/consumer/index.html    |  10 ++++----
 .../2.4/architecture-design/debug-mode/index.html  |  10 ++++----
 .../2.4/architecture-design/global-rule/index.html |  10 ++++----
 docs/apisix/2.4/architecture-design/index.html     |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.4/architecture-design/plugin/index.html      |  10 ++++----
 .../2.4/architecture-design/route/index.html       |  10 ++++----
 .../2.4/architecture-design/router/index.html      |  10 ++++----
 .../2.4/architecture-design/script/index.html      |  10 ++++----
 .../2.4/architecture-design/service/index.html     |  10 ++++----
 .../2.4/architecture-design/upstream/index.html    |  10 ++++----
 docs/apisix/2.4/aws/index.html                     |  10 ++++----
 docs/apisix/2.4/batch-processor/index.html         |  10 ++++----
 docs/apisix/2.4/benchmark/index.html               |  10 ++++----
 docs/apisix/2.4/certificate/index.html             |  10 ++++----
 docs/apisix/2.4/control-api/index.html             |  10 ++++----
 .../2.4/customize-nginx-configuration/index.html   |  10 ++++----
 docs/apisix/2.4/debug-function/index.html          |  10 ++++----
 docs/apisix/2.4/discovery/consul_kv/index.html     |  10 ++++----
 docs/apisix/2.4/discovery/dns/index.html           |  10 ++++----
 docs/apisix/2.4/discovery/eureka/index.html        |  10 ++++----
 docs/apisix/2.4/discovery/index.html               |  10 ++++----
 docs/apisix/2.4/discovery/nacos/index.html         |  10 ++++----
 docs/apisix/2.4/dns/index.html                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/apisix/2.4/external-plugin/index.html         |  10 ++++----
 docs/apisix/2.4/getting-started/index.html         |  10 ++++----
 docs/apisix/2.4/grpc-proxy/index.html              |  10 ++++----
 docs/apisix/2.4/health-check/index.html            |  10 ++++----
 docs/apisix/2.4/how-to-build/index.html            |  10 ++++----
 docs/apisix/2.4/https/index.html                   |  10 ++++----
 docs/apisix/2.4/install-dependencies/index.html    |  10 ++++----
 .../2.4/internal/testing-framework/index.html      |  10 ++++----
 docs/apisix/2.4/mtls/index.html                    |  10 ++++----
 docs/apisix/2.4/plugin-develop/index.html          |  10 ++++----
 docs/apisix/2.4/plugin-interceptors/index.html     |  10 ++++----
 docs/apisix/2.4/plugins/api-breaker/index.html     |  10 ++++----
 docs/apisix/2.4/plugins/authz-casbin/index.html    |  10 ++++----
 docs/apisix/2.4/plugins/authz-keycloak/index.html  |  10 ++++----
 docs/apisix/2.4/plugins/basic-auth/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/batch-requests/index.html  |  10 ++++----
 docs/apisix/2.4/plugins/client-control/index.html  |  10 ++++----
 .../2.4/plugins/consumer-restriction/index.html    |  10 ++++----
 docs/apisix/2.4/plugins/cors/index.html            |  10 ++++----
 docs/apisix/2.4/plugins/dubbo-proxy/index.html     |  10 ++++----
 docs/apisix/2.4/plugins/echo/index.html            |  10 ++++----
 .../apisix/2.4/plugins/error-log-logger/index.html |  10 ++++----
 .../2.4/plugins/ext-plugin-post-req/index.html     |  10 ++++----
 .../2.4/plugins/ext-plugin-pre-req/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/fault-injection/index.html |  10 ++++----
 docs/apisix/2.4/plugins/grpc-transcode/index.html  |  10 ++++----
 docs/apisix/2.4/plugins/gzip/index.html            |  10 ++++----
 docs/apisix/2.4/plugins/hmac-auth/index.html       |  10 ++++----
 docs/apisix/2.4/plugins/http-logger/index.html     |  10 ++++----
 docs/apisix/2.4/plugins/index.html                 |  10 ++++----
 docs/apisix/2.4/plugins/ip-restriction/index.html  |  10 ++++----
 docs/apisix/2.4/plugins/jwt-auth/index.html        |  10 ++++----
 docs/apisix/2.4/plugins/kafka-logger/index.html    |  10 ++++----
 docs/apisix/2.4/plugins/key-auth/index.html        |  10 ++++----
 docs/apisix/2.4/plugins/limit-conn/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/limit-count/index.html     |  10 ++++----
 docs/apisix/2.4/plugins/limit-req/index.html       |  10 ++++----
 docs/apisix/2.4/plugins/log-rotate/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/mqtt-proxy/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/node-status/index.html     |  10 ++++----
 docs/apisix/2.4/plugins/openid-connect/index.html  |  10 ++++----
 docs/apisix/2.4/plugins/prometheus/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/proxy-cache/index.html     |  10 ++++----
 docs/apisix/2.4/plugins/proxy-mirror/index.html    |  10 ++++----
 docs/apisix/2.4/plugins/proxy-rewrite/index.html   |  10 ++++----
 docs/apisix/2.4/plugins/real-ip/index.html         |  10 ++++----
 docs/apisix/2.4/plugins/redirect/index.html        |  10 ++++----
 .../2.4/plugins/referer-restriction/index.html     |  10 ++++----
 docs/apisix/2.4/plugins/request-id/index.html      |  10 ++++----
 .../2.4/plugins/request-validation/index.html      |  10 ++++----
 .../apisix/2.4/plugins/response-rewrite/index.html |  10 ++++----
 docs/apisix/2.4/plugins/server-info/index.html     |  10 ++++----
 docs/apisix/2.4/plugins/serverless/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/skywalking/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/sls-logger/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/syslog/index.html          |  10 ++++----
 docs/apisix/2.4/plugins/tcp-logger/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/traffic-split/index.html   |  10 ++++----
 docs/apisix/2.4/plugins/ua-restriction/index.html  |  10 ++++----
 docs/apisix/2.4/plugins/udp-logger/index.html      |  10 ++++----
 docs/apisix/2.4/plugins/uri-blocker/index.html     |  10 ++++----
 docs/apisix/2.4/plugins/wolf-rbac/index.html       |  10 ++++----
 docs/apisix/2.4/plugins/zipkin/index.html          |  10 ++++----
 docs/apisix/2.4/powered-by/index.html              |  10 ++++----
 docs/apisix/2.4/profile/index.html                 |  10 ++++----
 docs/apisix/2.4/router-radixtree/index.html        |  10 ++++----
 docs/apisix/2.4/stand-alone/index.html             |  10 ++++----
 docs/apisix/2.4/stream-proxy/index.html            |  10 ++++----
 docs/apisix/2.4/tags/index.html                    |  10 ++++----
 docs/apisix/2.5/FAQ/index.html                     |  10 ++++----
 docs/apisix/2.5/IGNORE_DOC/index.html              |  10 ++++----
 docs/apisix/2.5/admin-api/index.html               |  10 ++++----
 .../2.5/architecture-design/apisix/index.html      |  10 ++++----
 .../2.5/architecture-design/consumer/index.html    |  10 ++++----
 .../2.5/architecture-design/debug-mode/index.html  |  10 ++++----
 .../2.5/architecture-design/global-rule/index.html |  10 ++++----
 docs/apisix/2.5/architecture-design/index.html     |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.5/architecture-design/plugin/index.html      |  10 ++++----
 .../2.5/architecture-design/route/index.html       |  10 ++++----
 .../2.5/architecture-design/router/index.html      |  10 ++++----
 .../2.5/architecture-design/script/index.html      |  10 ++++----
 .../2.5/architecture-design/service/index.html     |  10 ++++----
 .../2.5/architecture-design/upstream/index.html    |  10 ++++----
 docs/apisix/2.5/aws/index.html                     |  10 ++++----
 docs/apisix/2.5/batch-processor/index.html         |  10 ++++----
 docs/apisix/2.5/benchmark/index.html               |  10 ++++----
 docs/apisix/2.5/certificate/index.html             |  10 ++++----
 docs/apisix/2.5/control-api/index.html             |  10 ++++----
 .../2.5/customize-nginx-configuration/index.html   |  10 ++++----
 docs/apisix/2.5/debug-function/index.html          |  10 ++++----
 docs/apisix/2.5/discovery/consul_kv/index.html     |  10 ++++----
 docs/apisix/2.5/discovery/dns/index.html           |  10 ++++----
 docs/apisix/2.5/discovery/eureka/index.html        |  10 ++++----
 docs/apisix/2.5/discovery/index.html               |  10 ++++----
 docs/apisix/2.5/discovery/nacos/index.html         |  10 ++++----
 docs/apisix/2.5/dns/index.html                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/apisix/2.5/external-plugin/index.html         |  10 ++++----
 docs/apisix/2.5/getting-started/index.html         |  10 ++++----
 docs/apisix/2.5/grpc-proxy/index.html              |  10 ++++----
 docs/apisix/2.5/health-check/index.html            |  10 ++++----
 docs/apisix/2.5/how-to-build/index.html            |  10 ++++----
 docs/apisix/2.5/https/index.html                   |  10 ++++----
 docs/apisix/2.5/install-dependencies/index.html    |  10 ++++----
 .../2.5/internal/testing-framework/index.html      |  10 ++++----
 docs/apisix/2.5/mtls/index.html                    |  10 ++++----
 docs/apisix/2.5/plugin-develop/index.html          |  10 ++++----
 docs/apisix/2.5/plugin-interceptors/index.html     |  10 ++++----
 docs/apisix/2.5/plugins/api-breaker/index.html     |  10 ++++----
 docs/apisix/2.5/plugins/authz-casbin/index.html    |  10 ++++----
 docs/apisix/2.5/plugins/authz-keycloak/index.html  |  10 ++++----
 docs/apisix/2.5/plugins/basic-auth/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/batch-requests/index.html  |  10 ++++----
 docs/apisix/2.5/plugins/client-control/index.html  |  10 ++++----
 .../2.5/plugins/consumer-restriction/index.html    |  10 ++++----
 docs/apisix/2.5/plugins/cors/index.html            |  10 ++++----
 docs/apisix/2.5/plugins/dubbo-proxy/index.html     |  10 ++++----
 docs/apisix/2.5/plugins/echo/index.html            |  10 ++++----
 .../apisix/2.5/plugins/error-log-logger/index.html |  10 ++++----
 .../2.5/plugins/ext-plugin-post-req/index.html     |  10 ++++----
 .../2.5/plugins/ext-plugin-pre-req/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/fault-injection/index.html |  10 ++++----
 docs/apisix/2.5/plugins/grpc-transcode/index.html  |  10 ++++----
 docs/apisix/2.5/plugins/gzip/index.html            |  10 ++++----
 docs/apisix/2.5/plugins/hmac-auth/index.html       |  10 ++++----
 docs/apisix/2.5/plugins/http-logger/index.html     |  10 ++++----
 docs/apisix/2.5/plugins/index.html                 |  10 ++++----
 docs/apisix/2.5/plugins/ip-restriction/index.html  |  10 ++++----
 docs/apisix/2.5/plugins/jwt-auth/index.html        |  10 ++++----
 docs/apisix/2.5/plugins/kafka-logger/index.html    |  10 ++++----
 docs/apisix/2.5/plugins/key-auth/index.html        |  10 ++++----
 docs/apisix/2.5/plugins/limit-conn/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/limit-count/index.html     |  10 ++++----
 docs/apisix/2.5/plugins/limit-req/index.html       |  10 ++++----
 docs/apisix/2.5/plugins/log-rotate/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/mqtt-proxy/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/node-status/index.html     |  10 ++++----
 docs/apisix/2.5/plugins/openid-connect/index.html  |  10 ++++----
 docs/apisix/2.5/plugins/prometheus/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/proxy-cache/index.html     |  10 ++++----
 docs/apisix/2.5/plugins/proxy-mirror/index.html    |  10 ++++----
 docs/apisix/2.5/plugins/proxy-rewrite/index.html   |  10 ++++----
 docs/apisix/2.5/plugins/real-ip/index.html         |  10 ++++----
 docs/apisix/2.5/plugins/redirect/index.html        |  10 ++++----
 .../2.5/plugins/referer-restriction/index.html     |  10 ++++----
 docs/apisix/2.5/plugins/request-id/index.html      |  10 ++++----
 .../2.5/plugins/request-validation/index.html      |  10 ++++----
 .../apisix/2.5/plugins/response-rewrite/index.html |  10 ++++----
 docs/apisix/2.5/plugins/server-info/index.html     |  10 ++++----
 docs/apisix/2.5/plugins/serverless/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/skywalking/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/sls-logger/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/syslog/index.html          |  10 ++++----
 docs/apisix/2.5/plugins/tcp-logger/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/traffic-split/index.html   |  10 ++++----
 docs/apisix/2.5/plugins/ua-restriction/index.html  |  10 ++++----
 docs/apisix/2.5/plugins/udp-logger/index.html      |  10 ++++----
 docs/apisix/2.5/plugins/uri-blocker/index.html     |  10 ++++----
 docs/apisix/2.5/plugins/wolf-rbac/index.html       |  10 ++++----
 docs/apisix/2.5/plugins/zipkin/index.html          |  10 ++++----
 docs/apisix/2.5/powered-by/index.html              |  10 ++++----
 docs/apisix/2.5/profile/index.html                 |  10 ++++----
 docs/apisix/2.5/router-radixtree/index.html        |  10 ++++----
 docs/apisix/2.5/stand-alone/index.html             |  10 ++++----
 docs/apisix/2.5/stream-proxy/index.html            |  10 ++++----
 docs/apisix/2.5/tags/index.html                    |  10 ++++----
 docs/apisix/2.6/FAQ/index.html                     |  10 ++++----
 docs/apisix/2.6/IGNORE_DOC/index.html              |  10 ++++----
 docs/apisix/2.6/admin-api/index.html               |  10 ++++----
 .../2.6/architecture-design/apisix/index.html      |  10 ++++----
 .../2.6/architecture-design/consumer/index.html    |  10 ++++----
 .../2.6/architecture-design/debug-mode/index.html  |  10 ++++----
 .../2.6/architecture-design/global-rule/index.html |  10 ++++----
 docs/apisix/2.6/architecture-design/index.html     |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.6/architecture-design/plugin/index.html      |  10 ++++----
 .../2.6/architecture-design/route/index.html       |  10 ++++----
 .../2.6/architecture-design/router/index.html      |  10 ++++----
 .../2.6/architecture-design/script/index.html      |  10 ++++----
 .../2.6/architecture-design/service/index.html     |  10 ++++----
 .../2.6/architecture-design/upstream/index.html    |  10 ++++----
 docs/apisix/2.6/aws/index.html                     |  10 ++++----
 docs/apisix/2.6/batch-processor/index.html         |  10 ++++----
 docs/apisix/2.6/benchmark/index.html               |  10 ++++----
 docs/apisix/2.6/certificate/index.html             |  10 ++++----
 docs/apisix/2.6/control-api/index.html             |  10 ++++----
 .../2.6/customize-nginx-configuration/index.html   |  10 ++++----
 docs/apisix/2.6/debug-function/index.html          |  10 ++++----
 docs/apisix/2.6/discovery/consul_kv/index.html     |  10 ++++----
 docs/apisix/2.6/discovery/dns/index.html           |  10 ++++----
 docs/apisix/2.6/discovery/eureka/index.html        |  10 ++++----
 docs/apisix/2.6/discovery/index.html               |  10 ++++----
 docs/apisix/2.6/discovery/nacos/index.html         |  10 ++++----
 docs/apisix/2.6/dns/index.html                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/apisix/2.6/external-plugin/index.html         |  10 ++++----
 docs/apisix/2.6/getting-started/index.html         |  10 ++++----
 docs/apisix/2.6/grpc-proxy/index.html              |  10 ++++----
 docs/apisix/2.6/health-check/index.html            |  10 ++++----
 docs/apisix/2.6/how-to-build/index.html            |  10 ++++----
 docs/apisix/2.6/https/index.html                   |  10 ++++----
 docs/apisix/2.6/install-dependencies/index.html    |  10 ++++----
 .../2.6/internal/testing-framework/index.html      |  10 ++++----
 docs/apisix/2.6/mtls/index.html                    |  10 ++++----
 docs/apisix/2.6/plugin-develop/index.html          |  10 ++++----
 docs/apisix/2.6/plugin-interceptors/index.html     |  10 ++++----
 docs/apisix/2.6/plugins/api-breaker/index.html     |  10 ++++----
 docs/apisix/2.6/plugins/authz-casbin/index.html    |  10 ++++----
 docs/apisix/2.6/plugins/authz-keycloak/index.html  |  10 ++++----
 docs/apisix/2.6/plugins/basic-auth/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/batch-requests/index.html  |  10 ++++----
 docs/apisix/2.6/plugins/client-control/index.html  |  10 ++++----
 .../2.6/plugins/consumer-restriction/index.html    |  10 ++++----
 docs/apisix/2.6/plugins/cors/index.html            |  10 ++++----
 docs/apisix/2.6/plugins/dubbo-proxy/index.html     |  10 ++++----
 docs/apisix/2.6/plugins/echo/index.html            |  10 ++++----
 .../apisix/2.6/plugins/error-log-logger/index.html |  10 ++++----
 .../2.6/plugins/ext-plugin-post-req/index.html     |  10 ++++----
 .../2.6/plugins/ext-plugin-pre-req/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/fault-injection/index.html |  10 ++++----
 docs/apisix/2.6/plugins/grpc-transcode/index.html  |  10 ++++----
 docs/apisix/2.6/plugins/gzip/index.html            |  10 ++++----
 docs/apisix/2.6/plugins/hmac-auth/index.html       |  10 ++++----
 docs/apisix/2.6/plugins/http-logger/index.html     |  10 ++++----
 docs/apisix/2.6/plugins/index.html                 |  10 ++++----
 docs/apisix/2.6/plugins/ip-restriction/index.html  |  10 ++++----
 docs/apisix/2.6/plugins/jwt-auth/index.html        |  10 ++++----
 docs/apisix/2.6/plugins/kafka-logger/index.html    |  10 ++++----
 docs/apisix/2.6/plugins/key-auth/index.html        |  10 ++++----
 docs/apisix/2.6/plugins/limit-conn/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/limit-count/index.html     |  10 ++++----
 docs/apisix/2.6/plugins/limit-req/index.html       |  10 ++++----
 docs/apisix/2.6/plugins/log-rotate/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/mqtt-proxy/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/node-status/index.html     |  10 ++++----
 docs/apisix/2.6/plugins/openid-connect/index.html  |  10 ++++----
 docs/apisix/2.6/plugins/prometheus/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/proxy-cache/index.html     |  10 ++++----
 docs/apisix/2.6/plugins/proxy-mirror/index.html    |  10 ++++----
 docs/apisix/2.6/plugins/proxy-rewrite/index.html   |  10 ++++----
 docs/apisix/2.6/plugins/real-ip/index.html         |  10 ++++----
 docs/apisix/2.6/plugins/redirect/index.html        |  10 ++++----
 .../2.6/plugins/referer-restriction/index.html     |  10 ++++----
 docs/apisix/2.6/plugins/request-id/index.html      |  10 ++++----
 .../2.6/plugins/request-validation/index.html      |  10 ++++----
 .../apisix/2.6/plugins/response-rewrite/index.html |  10 ++++----
 docs/apisix/2.6/plugins/server-info/index.html     |  10 ++++----
 docs/apisix/2.6/plugins/serverless/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/skywalking/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/sls-logger/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/syslog/index.html          |  10 ++++----
 docs/apisix/2.6/plugins/tcp-logger/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/traffic-split/index.html   |  10 ++++----
 docs/apisix/2.6/plugins/ua-restriction/index.html  |  10 ++++----
 docs/apisix/2.6/plugins/udp-logger/index.html      |  10 ++++----
 docs/apisix/2.6/plugins/uri-blocker/index.html     |  10 ++++----
 docs/apisix/2.6/plugins/wolf-rbac/index.html       |  10 ++++----
 docs/apisix/2.6/plugins/zipkin/index.html          |  10 ++++----
 docs/apisix/2.6/powered-by/index.html              |  10 ++++----
 docs/apisix/2.6/profile/index.html                 |  10 ++++----
 docs/apisix/2.6/router-radixtree/index.html        |  10 ++++----
 docs/apisix/2.6/stand-alone/index.html             |  10 ++++----
 docs/apisix/2.6/stream-proxy/index.html            |  10 ++++----
 docs/apisix/2.6/tags/index.html                    |  10 ++++----
 docs/apisix/2.7/FAQ/index.html                     |  10 ++++----
 docs/apisix/2.7/IGNORE_DOC/index.html              |  10 ++++----
 docs/apisix/2.7/admin-api/index.html               |  10 ++++----
 .../2.7/architecture-design/apisix/index.html      |  10 ++++----
 .../2.7/architecture-design/consumer/index.html    |  10 ++++----
 .../2.7/architecture-design/debug-mode/index.html  |  10 ++++----
 .../2.7/architecture-design/global-rule/index.html |  10 ++++----
 docs/apisix/2.7/architecture-design/index.html     |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.7/architecture-design/plugin/index.html      |  10 ++++----
 .../2.7/architecture-design/route/index.html       |  10 ++++----
 .../2.7/architecture-design/router/index.html      |  10 ++++----
 .../2.7/architecture-design/script/index.html      |  10 ++++----
 .../2.7/architecture-design/service/index.html     |  10 ++++----
 .../2.7/architecture-design/upstream/index.html    |  10 ++++----
 docs/apisix/2.7/aws/index.html                     |  10 ++++----
 docs/apisix/2.7/batch-processor/index.html         |  10 ++++----
 docs/apisix/2.7/benchmark/index.html               |  10 ++++----
 docs/apisix/2.7/certificate/index.html             |  10 ++++----
 docs/apisix/2.7/control-api/index.html             |  10 ++++----
 .../2.7/customize-nginx-configuration/index.html   |  10 ++++----
 docs/apisix/2.7/debug-function/index.html          |  10 ++++----
 docs/apisix/2.7/discovery/consul_kv/index.html     |  10 ++++----
 docs/apisix/2.7/discovery/dns/index.html           |  10 ++++----
 docs/apisix/2.7/discovery/eureka/index.html        |  10 ++++----
 docs/apisix/2.7/discovery/index.html               |  10 ++++----
 docs/apisix/2.7/discovery/nacos/index.html         |  10 ++++----
 docs/apisix/2.7/dns/index.html                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/apisix/2.7/external-plugin/index.html         |  10 ++++----
 docs/apisix/2.7/getting-started/index.html         |  10 ++++----
 docs/apisix/2.7/grpc-proxy/index.html              |  10 ++++----
 docs/apisix/2.7/health-check/index.html            |  10 ++++----
 docs/apisix/2.7/how-to-build/index.html            |  10 ++++----
 docs/apisix/2.7/https/index.html                   |  10 ++++----
 docs/apisix/2.7/install-dependencies/index.html    |  10 ++++----
 .../2.7/internal/testing-framework/index.html      |  10 ++++----
 docs/apisix/2.7/mtls/index.html                    |  10 ++++----
 docs/apisix/2.7/plugin-develop/index.html          |  10 ++++----
 docs/apisix/2.7/plugin-interceptors/index.html     |  10 ++++----
 docs/apisix/2.7/plugins/api-breaker/index.html     |  10 ++++----
 docs/apisix/2.7/plugins/authz-casbin/index.html    |  10 ++++----
 docs/apisix/2.7/plugins/authz-keycloak/index.html  |  10 ++++----
 docs/apisix/2.7/plugins/basic-auth/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/batch-requests/index.html  |  10 ++++----
 docs/apisix/2.7/plugins/client-control/index.html  |  10 ++++----
 .../2.7/plugins/consumer-restriction/index.html    |  10 ++++----
 docs/apisix/2.7/plugins/cors/index.html            |  10 ++++----
 docs/apisix/2.7/plugins/dubbo-proxy/index.html     |  10 ++++----
 docs/apisix/2.7/plugins/echo/index.html            |  10 ++++----
 .../apisix/2.7/plugins/error-log-logger/index.html |  10 ++++----
 .../2.7/plugins/ext-plugin-post-req/index.html     |  10 ++++----
 .../2.7/plugins/ext-plugin-pre-req/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/fault-injection/index.html |  10 ++++----
 docs/apisix/2.7/plugins/grpc-transcode/index.html  |  10 ++++----
 docs/apisix/2.7/plugins/gzip/index.html            |  10 ++++----
 docs/apisix/2.7/plugins/hmac-auth/index.html       |  10 ++++----
 docs/apisix/2.7/plugins/http-logger/index.html     |  10 ++++----
 docs/apisix/2.7/plugins/index.html                 |  10 ++++----
 docs/apisix/2.7/plugins/ip-restriction/index.html  |  10 ++++----
 docs/apisix/2.7/plugins/jwt-auth/index.html        |  10 ++++----
 docs/apisix/2.7/plugins/kafka-logger/index.html    |  10 ++++----
 docs/apisix/2.7/plugins/key-auth/index.html        |  10 ++++----
 docs/apisix/2.7/plugins/limit-conn/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/limit-count/index.html     |  10 ++++----
 docs/apisix/2.7/plugins/limit-req/index.html       |  10 ++++----
 docs/apisix/2.7/plugins/log-rotate/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/mqtt-proxy/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/node-status/index.html     |  10 ++++----
 docs/apisix/2.7/plugins/openid-connect/index.html  |  10 ++++----
 docs/apisix/2.7/plugins/prometheus/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/proxy-cache/index.html     |  10 ++++----
 docs/apisix/2.7/plugins/proxy-mirror/index.html    |  10 ++++----
 docs/apisix/2.7/plugins/proxy-rewrite/index.html   |  10 ++++----
 docs/apisix/2.7/plugins/real-ip/index.html         |  10 ++++----
 docs/apisix/2.7/plugins/redirect/index.html        |  10 ++++----
 .../2.7/plugins/referer-restriction/index.html     |  10 ++++----
 docs/apisix/2.7/plugins/request-id/index.html      |  10 ++++----
 .../2.7/plugins/request-validation/index.html      |  10 ++++----
 .../apisix/2.7/plugins/response-rewrite/index.html |  10 ++++----
 docs/apisix/2.7/plugins/server-info/index.html     |  10 ++++----
 docs/apisix/2.7/plugins/serverless/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/skywalking/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/sls-logger/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/syslog/index.html          |  10 ++++----
 docs/apisix/2.7/plugins/tcp-logger/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/traffic-split/index.html   |  10 ++++----
 docs/apisix/2.7/plugins/ua-restriction/index.html  |  10 ++++----
 docs/apisix/2.7/plugins/udp-logger/index.html      |  10 ++++----
 docs/apisix/2.7/plugins/uri-blocker/index.html     |  10 ++++----
 docs/apisix/2.7/plugins/wolf-rbac/index.html       |  10 ++++----
 docs/apisix/2.7/plugins/zipkin/index.html          |  10 ++++----
 docs/apisix/2.7/powered-by/index.html              |  10 ++++----
 docs/apisix/2.7/profile/index.html                 |  10 ++++----
 docs/apisix/2.7/router-radixtree/index.html        |  10 ++++----
 docs/apisix/2.7/stand-alone/index.html             |  10 ++++----
 docs/apisix/2.7/stream-proxy/index.html            |  10 ++++----
 docs/apisix/2.7/tags/index.html                    |  10 ++++----
 docs/apisix/2.8/FAQ/index.html                     |  10 ++++----
 docs/apisix/2.8/IGNORE_DOC/index.html              |  10 ++++----
 docs/apisix/2.8/admin-api/index.html               |  10 ++++----
 .../2.8/architecture-design/apisix/index.html      |  10 ++++----
 .../2.8/architecture-design/consumer/index.html    |  10 ++++----
 .../2.8/architecture-design/debug-mode/index.html  |  10 ++++----
 .../2.8/architecture-design/global-rule/index.html |  10 ++++----
 docs/apisix/2.8/architecture-design/index.html     |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.8/architecture-design/plugin/index.html      |  10 ++++----
 .../2.8/architecture-design/route/index.html       |  10 ++++----
 .../2.8/architecture-design/router/index.html      |  10 ++++----
 .../2.8/architecture-design/script/index.html      |  10 ++++----
 .../2.8/architecture-design/service/index.html     |  10 ++++----
 .../2.8/architecture-design/upstream/index.html    |  10 ++++----
 docs/apisix/2.8/aws/index.html                     |  10 ++++----
 docs/apisix/2.8/batch-processor/index.html         |  10 ++++----
 docs/apisix/2.8/benchmark/index.html               |  10 ++++----
 docs/apisix/2.8/certificate/index.html             |  10 ++++----
 docs/apisix/2.8/control-api/index.html             |  10 ++++----
 .../2.8/customize-nginx-configuration/index.html   |  10 ++++----
 docs/apisix/2.8/debug-function/index.html          |  10 ++++----
 docs/apisix/2.8/discovery/consul_kv/index.html     |  10 ++++----
 docs/apisix/2.8/discovery/dns/index.html           |  10 ++++----
 docs/apisix/2.8/discovery/eureka/index.html        |  10 ++++----
 docs/apisix/2.8/discovery/index.html               |  10 ++++----
 docs/apisix/2.8/discovery/nacos/index.html         |  10 ++++----
 docs/apisix/2.8/dns/index.html                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/apisix/2.8/external-plugin/index.html         |  10 ++++----
 docs/apisix/2.8/getting-started/index.html         |  10 ++++----
 docs/apisix/2.8/grpc-proxy/index.html              |  10 ++++----
 docs/apisix/2.8/health-check/index.html            |  10 ++++----
 docs/apisix/2.8/how-to-build/index.html            |  10 ++++----
 docs/apisix/2.8/https/index.html                   |  10 ++++----
 docs/apisix/2.8/install-dependencies/index.html    |  10 ++++----
 .../2.8/internal/testing-framework/index.html      |  10 ++++----
 docs/apisix/2.8/mtls/index.html                    |  10 ++++----
 docs/apisix/2.8/plugin-develop/index.html          |  10 ++++----
 docs/apisix/2.8/plugin-interceptors/index.html     |  10 ++++----
 docs/apisix/2.8/plugins/api-breaker/index.html     |  10 ++++----
 docs/apisix/2.8/plugins/authz-casbin/index.html    |  10 ++++----
 docs/apisix/2.8/plugins/authz-keycloak/index.html  |  10 ++++----
 docs/apisix/2.8/plugins/basic-auth/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/batch-requests/index.html  |  10 ++++----
 docs/apisix/2.8/plugins/client-control/index.html  |  10 ++++----
 .../2.8/plugins/consumer-restriction/index.html    |  10 ++++----
 docs/apisix/2.8/plugins/cors/index.html            |  10 ++++----
 docs/apisix/2.8/plugins/dubbo-proxy/index.html     |  10 ++++----
 docs/apisix/2.8/plugins/echo/index.html            |  10 ++++----
 .../apisix/2.8/plugins/error-log-logger/index.html |  10 ++++----
 .../2.8/plugins/ext-plugin-post-req/index.html     |  10 ++++----
 .../2.8/plugins/ext-plugin-pre-req/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/fault-injection/index.html |  10 ++++----
 docs/apisix/2.8/plugins/grpc-transcode/index.html  |  10 ++++----
 docs/apisix/2.8/plugins/gzip/index.html            |  10 ++++----
 docs/apisix/2.8/plugins/hmac-auth/index.html       |  10 ++++----
 docs/apisix/2.8/plugins/http-logger/index.html     |  10 ++++----
 docs/apisix/2.8/plugins/index.html                 |  10 ++++----
 docs/apisix/2.8/plugins/ip-restriction/index.html  |  10 ++++----
 docs/apisix/2.8/plugins/jwt-auth/index.html        |  10 ++++----
 docs/apisix/2.8/plugins/kafka-logger/index.html    |  10 ++++----
 docs/apisix/2.8/plugins/key-auth/index.html        |  10 ++++----
 docs/apisix/2.8/plugins/limit-conn/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/limit-count/index.html     |  10 ++++----
 docs/apisix/2.8/plugins/limit-req/index.html       |  10 ++++----
 docs/apisix/2.8/plugins/log-rotate/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/mqtt-proxy/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/node-status/index.html     |  10 ++++----
 docs/apisix/2.8/plugins/openid-connect/index.html  |  10 ++++----
 docs/apisix/2.8/plugins/prometheus/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/proxy-cache/index.html     |  10 ++++----
 docs/apisix/2.8/plugins/proxy-mirror/index.html    |  10 ++++----
 docs/apisix/2.8/plugins/proxy-rewrite/index.html   |  10 ++++----
 docs/apisix/2.8/plugins/real-ip/index.html         |  10 ++++----
 docs/apisix/2.8/plugins/redirect/index.html        |  10 ++++----
 .../2.8/plugins/referer-restriction/index.html     |  10 ++++----
 docs/apisix/2.8/plugins/request-id/index.html      |  10 ++++----
 .../2.8/plugins/request-validation/index.html      |  10 ++++----
 .../apisix/2.8/plugins/response-rewrite/index.html |  10 ++++----
 docs/apisix/2.8/plugins/server-info/index.html     |  10 ++++----
 docs/apisix/2.8/plugins/serverless/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/skywalking/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/sls-logger/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/syslog/index.html          |  10 ++++----
 docs/apisix/2.8/plugins/tcp-logger/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/traffic-split/index.html   |  10 ++++----
 docs/apisix/2.8/plugins/ua-restriction/index.html  |  10 ++++----
 docs/apisix/2.8/plugins/udp-logger/index.html      |  10 ++++----
 docs/apisix/2.8/plugins/uri-blocker/index.html     |  10 ++++----
 docs/apisix/2.8/plugins/wolf-rbac/index.html       |  10 ++++----
 docs/apisix/2.8/plugins/zipkin/index.html          |  10 ++++----
 docs/apisix/2.8/powered-by/index.html              |  10 ++++----
 docs/apisix/2.8/profile/index.html                 |  10 ++++----
 docs/apisix/2.8/router-radixtree/index.html        |  10 ++++----
 docs/apisix/2.8/stand-alone/index.html             |  10 ++++----
 docs/apisix/2.8/stream-proxy/index.html            |  10 ++++----
 docs/apisix/2.8/tags/index.html                    |  10 ++++----
 docs/apisix/FAQ/index.html                         |  10 ++++----
 docs/apisix/IGNORE_DOC/index.html                  |  10 ++++----
 docs/apisix/admin-api/index.html                   |  10 ++++----
 docs/apisix/architecture-design/apisix/index.html  |  10 ++++----
 .../apisix/architecture-design/consumer/index.html |  10 ++++----
 .../architecture-design/debug-mode/index.html      |  10 ++++----
 .../architecture-design/global-rule/index.html     |  10 ++++----
 docs/apisix/architecture-design/index.html         |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 docs/apisix/architecture-design/plugin/index.html  |  10 ++++----
 docs/apisix/architecture-design/route/index.html   |  10 ++++----
 docs/apisix/architecture-design/router/index.html  |  10 ++++----
 docs/apisix/architecture-design/script/index.html  |  10 ++++----
 docs/apisix/architecture-design/service/index.html |  10 ++++----
 .../apisix/architecture-design/upstream/index.html |  10 ++++----
 docs/apisix/aws/index.html                         |  10 ++++----
 docs/apisix/batch-processor/index.html             |  10 ++++----
 docs/apisix/benchmark/index.html                   |  10 ++++----
 docs/apisix/certificate/index.html                 |  10 ++++----
 docs/apisix/control-api/index.html                 |  10 ++++----
 .../customize-nginx-configuration/index.html       |  10 ++++----
 docs/apisix/debug-function/index.html              |  10 ++++----
 docs/apisix/discovery/consul_kv/index.html         |  10 ++++----
 docs/apisix/discovery/dns/index.html               |  10 ++++----
 docs/apisix/discovery/eureka/index.html            |  10 ++++----
 docs/apisix/discovery/index.html                   |  10 ++++----
 docs/apisix/discovery/nacos/index.html             |  10 ++++----
 docs/apisix/dns/index.html                         |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/apisix/external-plugin/index.html             |  10 ++++----
 docs/apisix/getting-started/index.html             |  10 ++++----
 docs/apisix/grpc-proxy/index.html                  |  10 ++++----
 docs/apisix/health-check/index.html                |  10 ++++----
 docs/apisix/how-to-build/index.html                |  10 ++++----
 docs/apisix/https/index.html                       |  10 ++++----
 docs/apisix/install-dependencies/index.html        |  10 ++++----
 docs/apisix/internal/testing-framework/index.html  |  10 ++++----
 docs/apisix/mtls/index.html                        |  10 ++++----
 docs/apisix/next/FAQ/index.html                    |  10 ++++----
 docs/apisix/next/IGNORE_DOC/index.html             |  12 ++++-----
 docs/apisix/next/admin-api/index.html              |  10 ++++----
 .../next/architecture-design/apisix/index.html     |  10 ++++----
 .../next/architecture-design/consumer/index.html   |  10 ++++----
 .../next/architecture-design/debug-mode/index.html |  10 ++++----
 .../architecture-design/global-rule/index.html     |  10 ++++----
 docs/apisix/next/architecture-design/index.html    |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../next/architecture-design/plugin/index.html     |  10 ++++----
 .../next/architecture-design/route/index.html      |  10 ++++----
 .../next/architecture-design/router/index.html     |  10 ++++----
 .../next/architecture-design/script/index.html     |  10 ++++----
 .../next/architecture-design/service/index.html    |  10 ++++----
 .../next/architecture-design/upstream/index.html   |  10 ++++----
 docs/apisix/next/aws/index.html                    |  10 ++++----
 docs/apisix/next/batch-processor/index.html        |  10 ++++----
 docs/apisix/next/benchmark/index.html              |  10 ++++----
 docs/apisix/next/certificate/index.html            |  10 ++++----
 docs/apisix/next/control-api/index.html            |  10 ++++----
 .../next/customize-nginx-configuration/index.html  |  10 ++++----
 docs/apisix/next/debug-function/index.html         |  10 ++++----
 docs/apisix/next/discovery/consul_kv/index.html    |  10 ++++----
 docs/apisix/next/discovery/dns/index.html          |  10 ++++----
 docs/apisix/next/discovery/eureka/index.html       |  10 ++++----
 docs/apisix/next/discovery/index.html              |  10 ++++----
 docs/apisix/next/discovery/nacos/index.html        |  10 ++++----
 docs/apisix/next/dns/index.html                    |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/apisix/next/external-plugin/index.html        |  10 ++++----
 docs/apisix/next/getting-started/index.html        |  10 ++++----
 docs/apisix/next/grpc-proxy/index.html             |  10 ++++----
 docs/apisix/next/health-check/index.html           |  10 ++++----
 docs/apisix/next/how-to-build/index.html           |  10 ++++----
 docs/apisix/next/https/index.html                  |  10 ++++----
 docs/apisix/next/install-dependencies/index.html   |  10 ++++----
 .../next/internal/testing-framework/index.html     |  10 ++++----
 docs/apisix/next/mtls/index.html                   |  10 ++++----
 docs/apisix/next/plugin-develop/index.html         |  10 ++++----
 docs/apisix/next/plugin-interceptors/index.html    |  10 ++++----
 docs/apisix/next/plugins/api-breaker/index.html    |  10 ++++----
 docs/apisix/next/plugins/authz-casbin/index.html   |  10 ++++----
 docs/apisix/next/plugins/authz-keycloak/index.html |  10 ++++----
 docs/apisix/next/plugins/basic-auth/index.html     |  10 ++++----
 docs/apisix/next/plugins/batch-requests/index.html |  10 ++++----
 docs/apisix/next/plugins/client-control/index.html |  10 ++++----
 .../next/plugins/consumer-restriction/index.html   |  10 ++++----
 docs/apisix/next/plugins/cors/index.html           |  10 ++++----
 docs/apisix/next/plugins/dubbo-proxy/index.html    |  10 ++++----
 docs/apisix/next/plugins/echo/index.html           |  10 ++++----
 .../next/plugins/error-log-logger/index.html       |  10 ++++----
 .../next/plugins/ext-plugin-post-req/index.html    |  10 ++++----
 .../next/plugins/ext-plugin-pre-req/index.html     |  10 ++++----
 .../apisix/next/plugins/fault-injection/index.html |  10 ++++----
 docs/apisix/next/plugins/grpc-transcode/index.html |  10 ++++----
 docs/apisix/next/plugins/gzip/index.html           |  10 ++++----
 docs/apisix/next/plugins/hmac-auth/index.html      |  10 ++++----
 docs/apisix/next/plugins/http-logger/index.html    |  10 ++++----
 docs/apisix/next/plugins/index.html                |  10 ++++----
 docs/apisix/next/plugins/ip-restriction/index.html |  10 ++++----
 docs/apisix/next/plugins/jwt-auth/index.html       |  10 ++++----
 docs/apisix/next/plugins/kafka-logger/index.html   |  10 ++++----
 docs/apisix/next/plugins/key-auth/index.html       |  10 ++++----
 docs/apisix/next/plugins/limit-conn/index.html     |  10 ++++----
 docs/apisix/next/plugins/limit-count/index.html    |  10 ++++----
 docs/apisix/next/plugins/limit-req/index.html      |  10 ++++----
 docs/apisix/next/plugins/log-rotate/index.html     |  10 ++++----
 docs/apisix/next/plugins/mqtt-proxy/index.html     |  10 ++++----
 docs/apisix/next/plugins/node-status/index.html    |  10 ++++----
 docs/apisix/next/plugins/openid-connect/index.html |  10 ++++----
 docs/apisix/next/plugins/prometheus/index.html     |  10 ++++----
 docs/apisix/next/plugins/proxy-cache/index.html    |  10 ++++----
 docs/apisix/next/plugins/proxy-mirror/index.html   |  10 ++++----
 docs/apisix/next/plugins/proxy-rewrite/index.html  |  10 ++++----
 docs/apisix/next/plugins/real-ip/index.html        |  10 ++++----
 docs/apisix/next/plugins/redirect/index.html       |  10 ++++----
 .../next/plugins/referer-restriction/index.html    |  10 ++++----
 docs/apisix/next/plugins/request-id/index.html     |  10 ++++----
 .../next/plugins/request-validation/index.html     |  10 ++++----
 .../next/plugins/response-rewrite/index.html       |  10 ++++----
 docs/apisix/next/plugins/server-info/index.html    |  10 ++++----
 docs/apisix/next/plugins/serverless/index.html     |  10 ++++----
 docs/apisix/next/plugins/skywalking/index.html     |  10 ++++----
 docs/apisix/next/plugins/sls-logger/index.html     |  10 ++++----
 docs/apisix/next/plugins/syslog/index.html         |  10 ++++----
 docs/apisix/next/plugins/tcp-logger/index.html     |  10 ++++----
 docs/apisix/next/plugins/traffic-split/index.html  |  10 ++++----
 docs/apisix/next/plugins/ua-restriction/index.html |  10 ++++----
 docs/apisix/next/plugins/udp-logger/index.html     |  10 ++++----
 docs/apisix/next/plugins/uri-blocker/index.html    |  10 ++++----
 docs/apisix/next/plugins/wolf-rbac/index.html      |  10 ++++----
 docs/apisix/next/plugins/zipkin/index.html         |  10 ++++----
 docs/apisix/next/powered-by/index.html             |  10 ++++----
 docs/apisix/next/profile/index.html                |  10 ++++----
 docs/apisix/next/router-radixtree/index.html       |  10 ++++----
 docs/apisix/next/stand-alone/index.html            |  10 ++++----
 docs/apisix/next/stream-proxy/index.html           |  10 ++++----
 docs/apisix/next/tags/index.html                   |  10 ++++----
 docs/apisix/plugin-develop/index.html              |  10 ++++----
 docs/apisix/plugin-interceptors/index.html         |  10 ++++----
 docs/apisix/plugins/api-breaker/index.html         |  10 ++++----
 docs/apisix/plugins/authz-casbin/index.html        |  10 ++++----
 docs/apisix/plugins/authz-keycloak/index.html      |  10 ++++----
 docs/apisix/plugins/basic-auth/index.html          |  10 ++++----
 docs/apisix/plugins/batch-requests/index.html      |  10 ++++----
 docs/apisix/plugins/client-control/index.html      |  10 ++++----
 .../apisix/plugins/consumer-restriction/index.html |  10 ++++----
 docs/apisix/plugins/cors/index.html                |  10 ++++----
 docs/apisix/plugins/dubbo-proxy/index.html         |  10 ++++----
 docs/apisix/plugins/echo/index.html                |  10 ++++----
 docs/apisix/plugins/error-log-logger/index.html    |  10 ++++----
 docs/apisix/plugins/ext-plugin-post-req/index.html |  10 ++++----
 docs/apisix/plugins/ext-plugin-pre-req/index.html  |  10 ++++----
 docs/apisix/plugins/fault-injection/index.html     |  10 ++++----
 docs/apisix/plugins/grpc-transcode/index.html      |  10 ++++----
 docs/apisix/plugins/gzip/index.html                |  10 ++++----
 docs/apisix/plugins/hmac-auth/index.html           |  10 ++++----
 docs/apisix/plugins/http-logger/index.html         |  10 ++++----
 docs/apisix/plugins/index.html                     |  10 ++++----
 docs/apisix/plugins/ip-restriction/index.html      |  10 ++++----
 docs/apisix/plugins/jwt-auth/index.html            |  10 ++++----
 docs/apisix/plugins/kafka-logger/index.html        |  10 ++++----
 docs/apisix/plugins/key-auth/index.html            |  10 ++++----
 docs/apisix/plugins/limit-conn/index.html          |  10 ++++----
 docs/apisix/plugins/limit-count/index.html         |  10 ++++----
 docs/apisix/plugins/limit-req/index.html           |  10 ++++----
 docs/apisix/plugins/log-rotate/index.html          |  10 ++++----
 docs/apisix/plugins/mqtt-proxy/index.html          |  10 ++++----
 docs/apisix/plugins/node-status/index.html         |  10 ++++----
 docs/apisix/plugins/openid-connect/index.html      |  10 ++++----
 docs/apisix/plugins/prometheus/index.html          |  10 ++++----
 docs/apisix/plugins/proxy-cache/index.html         |  10 ++++----
 docs/apisix/plugins/proxy-mirror/index.html        |  10 ++++----
 docs/apisix/plugins/proxy-rewrite/index.html       |  10 ++++----
 docs/apisix/plugins/real-ip/index.html             |  10 ++++----
 docs/apisix/plugins/redirect/index.html            |  10 ++++----
 docs/apisix/plugins/referer-restriction/index.html |  10 ++++----
 docs/apisix/plugins/request-id/index.html          |  10 ++++----
 docs/apisix/plugins/request-validation/index.html  |  10 ++++----
 docs/apisix/plugins/response-rewrite/index.html    |  10 ++++----
 docs/apisix/plugins/server-info/index.html         |  10 ++++----
 docs/apisix/plugins/serverless/index.html          |  10 ++++----
 docs/apisix/plugins/skywalking/index.html          |  10 ++++----
 docs/apisix/plugins/sls-logger/index.html          |  10 ++++----
 docs/apisix/plugins/syslog/index.html              |  10 ++++----
 docs/apisix/plugins/tcp-logger/index.html          |  10 ++++----
 docs/apisix/plugins/traffic-split/index.html       |  10 ++++----
 docs/apisix/plugins/ua-restriction/index.html      |  10 ++++----
 docs/apisix/plugins/udp-logger/index.html          |  10 ++++----
 docs/apisix/plugins/uri-blocker/index.html         |  10 ++++----
 docs/apisix/plugins/wolf-rbac/index.html           |  10 ++++----
 docs/apisix/plugins/zipkin/index.html              |  10 ++++----
 docs/apisix/powered-by/index.html                  |  10 ++++----
 docs/apisix/profile/index.html                     |  10 ++++----
 docs/apisix/router-radixtree/index.html            |  10 ++++----
 docs/apisix/stand-alone/index.html                 |  10 ++++----
 docs/apisix/stream-proxy/index.html                |  10 ++++----
 docs/apisix/tags/index.html                        |  10 ++++----
 docs/dashboard/2.5/FAQ/index.html                  |  10 ++++----
 docs/dashboard/2.5/I18N_USER_GUIDE/index.html      |  10 ++++----
 docs/dashboard/2.5/IGNORE_DOC/index.html           |  10 ++++----
 .../2.5/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 ++++----
 docs/dashboard/2.5/USER_GUIDE/index.html           |  10 ++++----
 docs/dashboard/2.5/api/api/index.html              |  10 ++++----
 docs/dashboard/2.5/back-end-tests/index.html       |  10 ++++----
 docs/dashboard/2.5/deploy-with-docker/index.html   |  10 ++++----
 docs/dashboard/2.5/deploy-with-rpm/index.html      |  10 ++++----
 docs/dashboard/2.5/deploy/index.html               |  10 ++++----
 docs/dashboard/2.5/develop/index.html              |  10 ++++----
 docs/dashboard/2.5/front-end-e2e/index.html        |  10 ++++----
 docs/dashboard/2.5/tags/index.html                 |  10 ++++----
 docs/dashboard/2.6.1/FAQ/index.html                |  10 ++++----
 docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html    |  10 ++++----
 docs/dashboard/2.6.1/IGNORE_DOC/index.html         |  10 ++++----
 .../2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  10 ++++----
 docs/dashboard/2.6.1/USER_GUIDE/index.html         |  10 ++++----
 docs/dashboard/2.6.1/api/api/index.html            |  10 ++++----
 docs/dashboard/2.6.1/back-end-tests/index.html     |  10 ++++----
 docs/dashboard/2.6.1/deploy-with-docker/index.html |  10 ++++----
 docs/dashboard/2.6.1/deploy-with-rpm/index.html    |  10 ++++----
 docs/dashboard/2.6.1/deploy/index.html             |  10 ++++----
 docs/dashboard/2.6.1/develop/index.html            |  10 ++++----
 docs/dashboard/2.6.1/front-end-e2e/index.html      |  10 ++++----
 docs/dashboard/2.6.1/tags/index.html               |  10 ++++----
 docs/dashboard/2.6/FAQ/index.html                  |  10 ++++----
 docs/dashboard/2.6/I18N_USER_GUIDE/index.html      |  10 ++++----
 docs/dashboard/2.6/IGNORE_DOC/index.html           |  10 ++++----
 .../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 ++++----
 docs/dashboard/2.6/USER_GUIDE/index.html           |  10 ++++----
 docs/dashboard/2.6/api/api/index.html              |  10 ++++----
 docs/dashboard/2.6/back-end-tests/index.html       |  10 ++++----
 docs/dashboard/2.6/deploy-with-docker/index.html   |  10 ++++----
 docs/dashboard/2.6/deploy-with-rpm/index.html      |  10 ++++----
 docs/dashboard/2.6/deploy/index.html               |  10 ++++----
 docs/dashboard/2.6/develop/index.html              |  10 ++++----
 docs/dashboard/2.6/front-end-e2e/index.html        |  10 ++++----
 docs/dashboard/2.6/tags/index.html                 |  10 ++++----
 docs/dashboard/2.7.1/FAQ/index.html                |  10 ++++----
 docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html    |  10 ++++----
 docs/dashboard/2.7.1/IGNORE_DOC/index.html         |  10 ++++----
 .../2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  10 ++++----
 docs/dashboard/2.7.1/USER_GUIDE/index.html         |  10 ++++----
 docs/dashboard/2.7.1/api/api/index.html            |  10 ++++----
 docs/dashboard/2.7.1/back-end-tests/index.html     |  10 ++++----
 docs/dashboard/2.7.1/deploy-with-docker/index.html |  10 ++++----
 docs/dashboard/2.7.1/deploy-with-rpm/index.html    |  10 ++++----
 docs/dashboard/2.7.1/deploy/index.html             |  10 ++++----
 docs/dashboard/2.7.1/develop/index.html            |  10 ++++----
 docs/dashboard/2.7.1/front-end-e2e/index.html      |  10 ++++----
 docs/dashboard/2.7.1/tags/index.html               |  10 ++++----
 docs/dashboard/2.7/FAQ/index.html                  |  10 ++++----
 docs/dashboard/2.7/I18N_USER_GUIDE/index.html      |  10 ++++----
 docs/dashboard/2.7/IGNORE_DOC/index.html           |  10 ++++----
 .../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 ++++----
 docs/dashboard/2.7/USER_GUIDE/index.html           |  10 ++++----
 docs/dashboard/2.7/api/api/index.html              |  10 ++++----
 docs/dashboard/2.7/back-end-tests/index.html       |  10 ++++----
 docs/dashboard/2.7/deploy-with-docker/index.html   |  10 ++++----
 docs/dashboard/2.7/deploy-with-rpm/index.html      |  10 ++++----
 docs/dashboard/2.7/deploy/index.html               |  10 ++++----
 docs/dashboard/2.7/develop/index.html              |  10 ++++----
 docs/dashboard/2.7/front-end-e2e/index.html        |  10 ++++----
 docs/dashboard/2.7/tags/index.html                 |  10 ++++----
 docs/dashboard/2.8/FAQ/index.html                  |  10 ++++----
 docs/dashboard/2.8/I18N_USER_GUIDE/index.html      |  10 ++++----
 docs/dashboard/2.8/IGNORE_DOC/index.html           |  10 ++++----
 .../2.8/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 ++++----
 docs/dashboard/2.8/USER_GUIDE/index.html           |  10 ++++----
 docs/dashboard/2.8/api/api/index.html              |  10 ++++----
 docs/dashboard/2.8/back-end-tests/index.html       |  10 ++++----
 docs/dashboard/2.8/deploy-with-docker/index.html   |  10 ++++----
 docs/dashboard/2.8/deploy-with-rpm/index.html      |  10 ++++----
 docs/dashboard/2.8/deploy/index.html               |  10 ++++----
 docs/dashboard/2.8/develop/index.html              |  10 ++++----
 docs/dashboard/2.8/front-end-e2e/index.html        |  10 ++++----
 docs/dashboard/2.8/tags/index.html                 |  10 ++++----
 docs/dashboard/FAQ/index.html                      |  10 ++++----
 docs/dashboard/I18N_USER_GUIDE/index.html          |  10 ++++----
 docs/dashboard/IGNORE_DOC/index.html               |  10 ++++----
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html |  10 ++++----
 docs/dashboard/USER_GUIDE/index.html               |  10 ++++----
 docs/dashboard/api/api/index.html                  |  10 ++++----
 docs/dashboard/back-end-tests/index.html           |  10 ++++----
 docs/dashboard/deploy-with-docker/index.html       |  10 ++++----
 docs/dashboard/deploy-with-rpm/index.html          |  10 ++++----
 docs/dashboard/deploy/index.html                   |  10 ++++----
 docs/dashboard/develop/index.html                  |  10 ++++----
 docs/dashboard/front-end-e2e/index.html            |  10 ++++----
 docs/dashboard/next/FAQ/index.html                 |  10 ++++----
 docs/dashboard/next/I18N_USER_GUIDE/index.html     |  10 ++++----
 docs/dashboard/next/IGNORE_DOC/index.html          |  12 ++++-----
 .../next/IMPORT_OPENAPI_USER_GUIDE/index.html      |  10 ++++----
 docs/dashboard/next/USER_GUIDE/index.html          |  10 ++++----
 docs/dashboard/next/api/api/index.html             |  10 ++++----
 docs/dashboard/next/back-end-tests/index.html      |  10 ++++----
 docs/dashboard/next/deploy-with-docker/index.html  |  10 ++++----
 docs/dashboard/next/deploy-with-rpm/index.html     |  10 ++++----
 docs/dashboard/next/deploy/index.html              |  10 ++++----
 docs/dashboard/next/develop/index.html             |  10 ++++----
 docs/dashboard/next/front-end-e2e/index.html       |  10 ++++----
 docs/dashboard/next/tags/index.html                |  10 ++++----
 docs/dashboard/tags/index.html                     |  10 ++++----
 docs/docker/IGNORE_DOC/index.html                  |  10 ++++----
 docs/docker/apisix-2.10.0/IGNORE_DOC/index.html    |  10 ++++----
 docs/docker/apisix-2.10.0/build/index.html         |  10 ++++----
 docs/docker/apisix-2.10.0/example/index.html       |  10 ++++----
 docs/docker/apisix-2.10.0/manual/index.html        |  10 ++++----
 docs/docker/apisix-2.10.0/tags/index.html          |  10 ++++----
 docs/docker/apisix-2.9.0/IGNORE_DOC/index.html     |  10 ++++----
 docs/docker/apisix-2.9.0/build/index.html          |  10 ++++----
 docs/docker/apisix-2.9.0/example/index.html        |  10 ++++----
 docs/docker/apisix-2.9.0/manual/index.html         |  10 ++++----
 docs/docker/apisix-2.9.0/tags/index.html           |  10 ++++----
 docs/docker/build/index.html                       |  10 ++++----
 docs/docker/example/index.html                     |  10 ++++----
 docs/docker/manual/index.html                      |  10 ++++----
 docs/docker/next/IGNORE_DOC/index.html             |  12 ++++-----
 docs/docker/next/build/index.html                  |  10 ++++----
 docs/docker/next/example/index.html                |  10 ++++----
 docs/docker/next/manual/index.html                 |  10 ++++----
 docs/docker/next/tags/index.html                   |  10 ++++----
 docs/docker/tags/index.html                        |  10 ++++----
 docs/general/2fa/index.html                        |  12 ++++-----
 docs/general/committer-guide/index.html            |  12 ++++-----
 docs/general/contributor-guide/index.html          |  12 ++++-----
 .../general/integrate-with-project-docs/index.html |  12 ++++-----
 docs/general/release-guide/index.html              |  12 ++++-----
 docs/general/security/index.html                   |  12 ++++-----
 docs/general/subscribe-guide/index.html            |  12 ++++-----
 docs/general/tags/index.html                       |  10 ++++----
 docs/go-plugin-runner/0.1.0/IGNORE_DOC/index.html  |  10 ++++----
 .../0.1.0/developer-guide/index.html               |  10 ++++----
 .../0.1.0/getting-started/index.html               |  10 ++++----
 docs/go-plugin-runner/0.1.0/tags/index.html        |  10 ++++----
 docs/go-plugin-runner/IGNORE_DOC/index.html        |  10 ++++----
 docs/go-plugin-runner/developer-guide/index.html   |  10 ++++----
 docs/go-plugin-runner/getting-started/index.html   |  10 ++++----
 docs/go-plugin-runner/next/IGNORE_DOC/index.html   |  12 ++++-----
 .../next/developer-guide/index.html                |  10 ++++----
 .../next/getting-started/index.html                |  10 ++++----
 docs/go-plugin-runner/next/tags/index.html         |  10 ++++----
 docs/go-plugin-runner/tags/index.html              |  10 ++++----
 docs/helm-chart/FAQ/index.html                     |  10 ++++----
 docs/helm-chart/IGNORE_DOC/index.html              |  12 ++++-----
 docs/helm-chart/apisix-dashboard/index.html        |  10 ++++----
 .../apisix-ingress-controller/index.html           |  10 ++++----
 docs/helm-chart/apisix/index.html                  |  10 ++++----
 docs/helm-chart/tags/index.html                    |  10 ++++----
 docs/index.html                                    |  10 ++++----
 docs/ingress-controller/FAQ/index.html             |  10 ++++----
 docs/ingress-controller/IGNORE_DOC/index.html      |  12 ++++-----
 .../concepts/annotations/index.html                |  10 ++++----
 .../concepts/apisix_cluster_config/index.html      |  10 ++++----
 .../concepts/apisix_route/index.html               |  10 ++++----
 .../concepts/apisix_tls/index.html                 |  10 ++++----
 .../concepts/apisix_upstream/index.html            |  10 ++++----
 docs/ingress-controller/contribute/index.html      |  10 ++++----
 docs/ingress-controller/deployments/ack/index.html |  10 ++++----
 docs/ingress-controller/deployments/aws/index.html |  10 ++++----
 .../deployments/azure/index.html                   |  10 ++++----
 docs/ingress-controller/deployments/gke/index.html |  10 ++++----
 .../deployments/k3s-rke/index.html                 |  10 ++++----
 .../deployments/kubesphere/index.html              |  10 ++++----
 .../deployments/minikube/index.html                |  10 ++++----
 docs/ingress-controller/deployments/tke/index.html |  10 ++++----
 docs/ingress-controller/design/index.html          |  10 ++++----
 docs/ingress-controller/development/index.html     |  10 ++++----
 docs/ingress-controller/getting-started/index.html |  10 ++++----
 .../practices/check-crd-status/index.html          |  10 ++++----
 docs/ingress-controller/practices/index/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/ingress-controller/practices/mtls/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../practices/proxy-the-httpbin-service/index.html |  10 ++++----
 .../practices/the-hard-way/index.html              |  10 ++++----
 .../references/apisix_cluster_config/index.html    |  10 ++++----
 .../references/apisix_route_v1/index.html          |  10 ++++----
 .../references/apisix_route_v2alpha1/index.html    |  10 ++++----
 .../references/apisix_route_v2beta1/index.html     |  10 ++++----
 .../references/apisix_tls/index.html               |  10 ++++----
 .../references/apisix_upstream/index.html          |  10 ++++----
 docs/ingress-controller/tags/index.html            |  10 ++++----
 docs/java-plugin-runner/IGNORE_DOC/index.html      |  10 ++++----
 docs/java-plugin-runner/development/index.html     |  10 ++++----
 docs/java-plugin-runner/how-it-works/index.html    |  10 ++++----
 docs/java-plugin-runner/next/IGNORE_DOC/index.html |  12 ++++-----
 .../java-plugin-runner/next/development/index.html |  10 ++++----
 .../next/how-it-works/index.html                   |  10 ++++----
 docs/java-plugin-runner/next/tags/index.html       |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/java-plugin-runner/tags/index.html            |  10 ++++----
 .../index.html                                     |  10 ++++----
 docs/python-plugin-runner/IGNORE_DOC/index.html    |  10 ++++----
 .../developer-guide/index.html                     |  10 ++++----
 .../getting-started/index.html                     |  10 ++++----
 .../next/IGNORE_DOC/index.html                     |  12 ++++-----
 .../next/developer-guide/index.html                |  10 ++++----
 .../next/getting-started/index.html                |  10 ++++----
 docs/python-plugin-runner/next/tags/index.html     |  10 ++++----
 docs/python-plugin-runner/tags/index.html          |  10 ++++----
 downloads/index.html                               |  10 ++++----
 events/archive/index.html                          |  10 ++++----
 help/index.html                                    |  10 ++++----
 index.html                                         |  12 ++++-----
 plugins/index.html                                 |  10 ++++----
 .../11/15/release-apache-apisix-0.9/index.html     |  10 ++++----
 .../2019/9/29/release-apache-apisix-0.8/index.html |  10 ++++----
 .../2019/9/6/release-apache-apisix-0.7/index.html  |  10 ++++----
 .../2020/1/15/release-apache-apisix-1.0/index.html |  10 ++++----
 .../10/28/release-apache-apisix-2.0/index.html     |  10 ++++----
 .../2020/12/1/release-apache-apisix-2.1/index.html |  10 ++++----
 .../release-apache-apisix-dashboard-2.2/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2020/2/24/release-apache-apisix-1.1/index.html |  10 ++++----
 .../release-apache-apisix-dashboard-1.0/index.html |  10 ++++----
 .../2020/4/20/release-apache-apisix-1.2/index.html |  10 ++++----
 .../2020/5/26/release-apache-apisix-1.3/index.html |  10 ++++----
 .../2020/6/30/release-apache-apisix-1.4/index.html |  10 ++++----
 .../7/20/release-apache-apisix-1.4.1/index.html    |  10 ++++----
 .../release-apache-apisix-dashboard-1.5/index.html |  10 ++++----
 .../2020/8/6/release-apache-apisix-1.5/index.html  |  10 ++++----
 .../release-apache-apisix-dashboard-2.3/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/1/8/release-apache-apisix-2.2/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../release-apache-apisix-dashboard-2.4/index.html |  10 ++++----
 .../2021/2/9/release-apache-apisix-2.3/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../release-apache-apisix-dashboard-2.5/index.html |  10 ++++----
 .../2021/3/5/release-apache-apisix-2.4/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../release-apache-apisix-dashboard-2.6/index.html |  10 ++++----
 .../2021/4/5/release-apache-apisix-2.5/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/5/24/release-apache-apisix-2.6/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../release-apache-apisix-dashboard-2.7/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/6/25/release-apache-apisix-2.7/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/7/27/release-apache-apisix-2.8/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/8/27/release-apache-apisix-2.9/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../release-apache-apisix-dashboard-2.8/index.html |  10 ++++----
 releases/archive/index.html                        |  10 ++++----
 releases/index.html                                |  10 ++++----
 releases/page/2/index.html                         |  10 ++++----
 releases/page/3/index.html                         |  10 ++++----
 releases/page/4/index.html                         |  10 ++++----
 releases/page/5/index.html                         |  10 ++++----
 releases/tags/apisix-dashboard/index.html          |  10 ++++----
 releases/tags/apisix-go-plugin-runner/index.html   |  10 ++++----
 releases/tags/apisix-ingress-controller/index.html |  10 ++++----
 releases/tags/apisix-java-plugin-runner/index.html |  10 ++++----
 .../tags/apisix-python-plugin-runner/index.html    |  10 ++++----
 releases/tags/apisix/index.html                    |  10 ++++----
 releases/tags/index.html                           |  10 ++++----
 search/index.html                                  |  10 ++++----
 sections/architecture/index.html                   |  28 +++++++++++++++++++++
 sections/benefits/index.html                       |  28 +++++++++++++++++++++
 sections/comparison/index.html                     |  28 +++++++++++++++++++++
 sections/components/arrowAnim/index.html           |  10 ++++----
 sections/components/eventPosterCard/index.html     |  10 ++++----
 sections/components/heroCanvas/index.html          |  12 ++++-----
 sections/components/ossCanvas/index.html           |  10 ++++----
 sections/endcta/index.html                         |  28 +++++++++++++++++++++
 sections/features/index.html                       |  28 +++++++++++++++++++++
 sections/heroSection/index.html                    |  28 +++++++++++++++++++++
 sections/newsSection/index.html                    |  28 +++++++++++++++++++++
 sections/opensourcePromo/index.html                |  28 +++++++++++++++++++++
 showcase/index.html                                |  10 ++++----
 sitemap.xml                                        |   2 +-
 team/index.html                                    |  10 ++++----
 zh/404.html                                        |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  12 ++++-----
 .../Apache-APISIX-Incubator-Journey/index.html     |  10 ++++----
 .../Apache-APISIX-Kubernetes-Ingress/index.html    |  10 ++++----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html |  12 ++++-----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../Speed-Limiting-With-Apache-APISIX/index.html   |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/articles/The-Appeal-of-OpenSource/index.html    |  10 ++++----
 .../The-Evolution-of-Apache-APISIX/index.html      |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/articles/archive/index.html                     |  10 ++++----
 zh/articles/atom.xml                               |   6 ++---
 zh/articles/index.html                             |  12 ++++-----
 zh/articles/page/2/index.html                      |  10 ++++----
 zh/articles/rss.xml                                |   6 ++---
 zh/assets/css/styles.7ba25bac.css                  |   1 +
 zh/assets/css/styles.8bf52f50.css                  |   1 -
 ...nNeue-Bold-4bbe26b1bc13e3d52f28ed99e0c08d57.otf | Bin 0 -> 129360 bytes
 ...nNeue-Demi-2d6699d45ef9ce6a35e48ee0bd2d247d.otf | Bin 0 -> 129316 bytes
 ...-ExtraBold-04f4315b09a466ca57bd3fffb9b3c9f2.otf | Bin 0 -> 130720 bytes
 ...Neue-Light-76a7518e37acd82ee00d89c08d199b53.otf | Bin 0 -> 127560 bytes
 ...eue-Medium-307430e743b2f678b6f901779dedbcb2.otf | Bin 0 -> 128648 bytes
 ...-dashboard-16fe28555ad3d92a408cde727e13e986.png | Bin 0 -> 113485 bytes
 ...ode-sample-36aab6d449dd84b1f7bdc40f5a88ee67.png | Bin 0 -> 105948 bytes
 ...pluginised-4fdd31033ed294a3d95585df6a2066f8.png | Bin 0 -> 169638 bytes
 .../rocket-34b5b620fdca482c490049f803c6e937.gif    | Bin 0 -> 144400 bytes
 zh/assets/js/084f2827.b9b83d41.js                  |   1 +
 zh/assets/js/09b17eb5.959a2a6e.js                  |   1 -
 zh/assets/js/09b17eb5.a184a784.js                  |   1 +
 zh/assets/js/0c6519bf.2727357f.js                  |   1 +
 zh/assets/js/19945770.64eb2968.js                  |   1 -
 zh/assets/js/19945770.890c6fda.js                  |   1 +
 zh/assets/js/1be78505.27c647e2.js                  |   1 +
 zh/assets/js/1be78505.c9b9244f.js                  |   1 -
 zh/assets/js/2de4608a.c11425e4.js                  |   1 +
 zh/assets/js/3393d167.38db7914.js                  |   1 -
 zh/assets/js/3393d167.68739ee0.js                  |   1 +
 zh/assets/js/358566b4.e9407186.js                  |   1 +
 zh/assets/js/358566b4.f2565404.js                  |   1 -
 zh/assets/js/3892d75f.2129e3fa.js                  |   1 +
 zh/assets/js/3892d75f.7c9ae0c6.js                  |   1 -
 zh/assets/js/3dc9f306.2b4129f8.js                  |   1 +
 zh/assets/js/3dc9f306.e75d3dba.js                  |   1 -
 zh/assets/js/3eac96fe.3b4cbf5b.js                  |   1 +
 zh/assets/js/40fb2fae.7beb6dca.js                  |   1 -
 zh/assets/js/40fb2fae.8a1dfcb4.js                  |   1 +
 zh/assets/js/4c20006b.1280cf2c.js                  |   1 +
 zh/assets/js/4c20006b.ca85a15c.js                  |   1 -
 zh/assets/js/50facf8e.d2edc1bc.js                  |   1 -
 zh/assets/js/50facf8e.ed3d89d1.js                  |   1 +
 zh/assets/js/5364ab9a.1646a578.js                  |   1 +
 zh/assets/js/542fd41f.0d9881f0.js                  |   1 +
 zh/assets/js/542fd41f.1b179054.js                  |   1 -
 zh/assets/js/58a3f426.df2e4633.js                  |   1 +
 zh/assets/js/5b0fa993.3599b6f8.js                  |   1 -
 zh/assets/js/5b0fa993.696aa29a.js                  |   1 +
 zh/assets/js/601c6eaa.46e64311.js                  |   1 +
 zh/assets/js/601c6eaa.c3149b49.js                  |   1 -
 zh/assets/js/62479209.aa38aeac.js                  |   1 +
 zh/assets/js/66fbb9c2.613c242f.js                  |   1 +
 zh/assets/js/66fbb9c2.fc7a3389.js                  |   1 -
 zh/assets/js/6b3cc1ec.9d5b2a65.js                  |   1 -
 zh/assets/js/6b3cc1ec.d0269de6.js                  |   1 +
 zh/assets/js/7a19ed90.acca04f3.js                  |   1 +
 zh/assets/js/7af3052c.5d6be012.js                  |   1 +
 zh/assets/js/7af3052c.6af5589d.js                  |   1 -
 zh/assets/js/80791de8.b2c50360.js                  |   1 +
 zh/assets/js/80791de8.eb39b921.js                  |   1 -
 zh/assets/js/8e784bf3.3f51cf2c.js                  |   1 +
 zh/assets/js/8e784bf3.81b22817.js                  |   1 -
 zh/assets/js/8f700fa6.3cea2cbf.js                  |   1 -
 zh/assets/js/8f700fa6.59591749.js                  |   1 +
 zh/assets/js/90fc8a94.071e51e6.js                  |   1 -
 zh/assets/js/90fc8a94.8c52c999.js                  |   1 +
 zh/assets/js/941960b1.8140af6e.js                  |   1 -
 zh/assets/js/941960b1.914dda33.js                  |   1 +
 zh/assets/js/97082.654a376c.js                     |   2 ++
 zh/assets/js/97082.654a376c.js.LICENSE.txt         |   9 +++++++
 zh/assets/js/adbb350b.241118ed.js                  |   1 -
 zh/assets/js/adbb350b.ac9547d3.js                  |   1 +
 zh/assets/js/c4f5d8e4.6fc9671f.js                  |   1 +
 zh/assets/js/c4f5d8e4.7c3454c2.js                  |   1 -
 zh/assets/js/d18db9b0.85ffd6a3.js                  |   1 -
 zh/assets/js/d18db9b0.e28cce54.js                  |   1 +
 zh/assets/js/main.2eafad46.js                      |   2 --
 zh/assets/js/main.b0e67675.js                      |   2 ++
 .../assets/js/main.b0e67675.js.LICENSE.txt         |   0
 zh/assets/js/runtime~main.25fd5524.js              |   1 -
 zh/assets/js/runtime~main.9c4155d3.js              |   1 +
 .../apisix-59686252808d5d79bee48ec5eaee4809.mp4    | Bin 0 -> 6004471 bytes
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/blog/2021/05/24/Tencent-Games/index.html        |  10 ++++----
 .../index.html"                                    |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/blog/2021/06/06/apisix-two-years/index.html     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../06/28/why-we-need-Apache-APISIX/index.html     |  10 ++++----
 .../06/29/release-apache-apisix-2.7/index.html     |  10 ++++----
 .../etcd3-support-HTTP-access-perfectly/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/07/21/Apache-APISIX-Kubernetes/index.html |  10 ++++----
 zh/blog/2021/07/25/apachecon-asia/index.html       |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../07/28/release-apache-apisix-2.8/index.html     |  10 ++++----
 zh/blog/2021/08/05/Kong-to-APISIX/index.html       |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html |  10 ++++----
 .../08/09/Apache-APISIX-in-Quliankeji/index.html   |  10 ++++----
 zh/blog/2021/08/10/apisix-nginx/index.html         |  10 ++++----
 .../2021/08/11/interview-TuZhengsong/index.html    |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/blog/2021/08/17/interview-airwallex/index.html  |  10 ++++----
 .../Auth-with-Casbin-in-Apache-APISIX/index.html   |  10 ++++----
 .../08/19/go-makes-Apache-APISIX-better/index.html |  10 ++++----
 zh/blog/2021/08/19/weekly-report/index.html        |  10 ++++----
 zh/blog/2021/08/21/shanghai-meetup/index.html      |  10 ++++----
 zh/blog/2021/08/23/ApacheCon-Asia-2021/index.html  |  10 ++++----
 zh/blog/2021/08/23/weekly-report/index.html        |  10 ++++----
 .../2021/08/24/shanghai-meetup-recap/index.html    |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../08/27/release-apache-apisix-2.9-en/index.html  |  10 ++++----
 .../08/27/release-apache-apisix-2.9/index.html     |  10 ++++----
 zh/blog/2021/08/30/Ingress-Meeting/index.html      |  10 ++++----
 zh/blog/2021/08/30/weekly-report/index.html        |  10 ++++----
 .../index.html"                                    |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/09/07/how-to-use-apisix-auth/index.html   |  10 ++++----
 zh/blog/2021/09/07/iQIYI-usercase/index.html       |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../09/13/china-mobile-cloud-usercase/index.html   |  10 ++++----
 zh/blog/2021/09/14/youzan/index.html               |  10 ++++----
 zh/blog/2021/09/15/weekly-report/index.html        |  10 ++++----
 zh/blog/2021/09/16/tencent-cloud/index.html        |  10 ++++----
 zh/blog/2021/09/18/xiaodian-usercase/index.html    |  10 ++++----
 zh/blog/2021/09/24/youpaicloud-usercase/index.html |  10 ++++----
 zh/blog/2021/09/28/WPS-usercase/index.html         |  10 ++++----
 .../09/29/release-apache-apisix-2.10-en/index.html |  10 ++++----
 .../09/29/release-apache-apisix-2.10/index.html    |  10 ++++----
 zh/blog/2021/09/30/weekly-report/index.html        |  10 ++++----
 zh/blog/2021/10/01/openEuler/index.html            |  10 ++++----
 zh/blog/archive/index.html                         |  10 ++++----
 zh/blog/index.html                                 |  10 ++++----
 zh/blog/page/2/index.html                          |  10 ++++----
 zh/blog/page/3/index.html                          |  10 ++++----
 zh/blog/page/4/index.html                          |  10 ++++----
 zh/blog/page/5/index.html                          |  10 ++++----
 zh/blog/page/6/index.html                          |  10 ++++----
 zh/blog/tags/community/index.html                  |  10 ++++----
 zh/blog/tags/events/index.html                     |  10 ++++----
 zh/blog/tags/index.html                            |  10 ++++----
 zh/blog/tags/interview/index.html                  |  10 ++++----
 zh/blog/tags/practical-case/index.html             |  10 ++++----
 zh/blog/tags/release/index.html                    |  10 ++++----
 zh/blog/tags/security/index.html                   |  10 ++++----
 zh/blog/tags/technology/index.html                 |  10 ++++----
 zh/blog/tags/user-case/index.html                  |  10 ++++----
 zh/docs/apisix/2.10.0/FAQ/index.html               |  10 ++++----
 zh/docs/apisix/2.10.0/IGNORE_DOC/index.html        |  10 ++++----
 zh/docs/apisix/2.10.0/admin-api/index.html         |  10 ++++----
 .../2.10.0/architecture-design/apisix/index.html   |  10 ++++----
 .../2.10.0/architecture-design/consumer/index.html |  10 ++++----
 .../architecture-design/debug-mode/index.html      |  10 ++++----
 .../architecture-design/global-rule/index.html     |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.10.0/architecture-design/plugin/index.html   |  10 ++++----
 .../2.10.0/architecture-design/route/index.html    |  10 ++++----
 .../2.10.0/architecture-design/router/index.html   |  10 ++++----
 .../2.10.0/architecture-design/script/index.html   |  10 ++++----
 .../2.10.0/architecture-design/service/index.html  |  10 ++++----
 .../2.10.0/architecture-design/upstream/index.html |  10 ++++----
 zh/docs/apisix/2.10.0/aws/index.html               |  10 ++++----
 zh/docs/apisix/2.10.0/batch-processor/index.html   |  10 ++++----
 zh/docs/apisix/2.10.0/benchmark/index.html         |  10 ++++----
 zh/docs/apisix/2.10.0/certificate/index.html       |  10 ++++----
 zh/docs/apisix/2.10.0/control-api/index.html       |  10 ++++----
 .../customize-nginx-configuration/index.html       |  10 ++++----
 zh/docs/apisix/2.10.0/debug-function/index.html    |  10 ++++----
 .../apisix/2.10.0/discovery/consul_kv/index.html   |  10 ++++----
 zh/docs/apisix/2.10.0/discovery/dns/index.html     |  10 ++++----
 zh/docs/apisix/2.10.0/discovery/eureka/index.html  |  10 ++++----
 zh/docs/apisix/2.10.0/discovery/index.html         |  10 ++++----
 zh/docs/apisix/2.10.0/discovery/nacos/index.html   |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/docs/apisix/2.10.0/external-plugin/index.html   |  10 ++++----
 zh/docs/apisix/2.10.0/getting-started/index.html   |  10 ++++----
 zh/docs/apisix/2.10.0/grpc-proxy/index.html        |  10 ++++----
 zh/docs/apisix/2.10.0/health-check/index.html      |  10 ++++----
 zh/docs/apisix/2.10.0/how-to-build/index.html      |  10 ++++----
 .../apisix/2.10.0/install-dependencies/index.html  |  10 ++++----
 .../2.10.0/internal/testing-framework/index.html   |  10 ++++----
 zh/docs/apisix/2.10.0/mtls/index.html              |  10 ++++----
 zh/docs/apisix/2.10.0/plugin-develop/index.html    |  10 ++++----
 .../apisix/2.10.0/plugin-interceptors/index.html   |  10 ++++----
 .../apisix/2.10.0/plugins/api-breaker/index.html   |  10 ++++----
 .../apisix/2.10.0/plugins/authz-casbin/index.html  |  10 ++++----
 .../2.10.0/plugins/authz-keycloak/index.html       |  10 ++++----
 .../apisix/2.10.0/plugins/basic-auth/index.html    |  10 ++++----
 .../2.10.0/plugins/batch-requests/index.html       |  10 ++++----
 .../2.10.0/plugins/client-control/index.html       |  10 ++++----
 .../2.10.0/plugins/consumer-restriction/index.html |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/cors/index.html      |  10 ++++----
 .../apisix/2.10.0/plugins/dubbo-proxy/index.html   |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/echo/index.html      |  10 ++++----
 .../2.10.0/plugins/error-log-logger/index.html     |  10 ++++----
 .../2.10.0/plugins/ext-plugin-post-req/index.html  |  10 ++++----
 .../2.10.0/plugins/ext-plugin-pre-req/index.html   |  10 ++++----
 .../2.10.0/plugins/fault-injection/index.html      |  10 ++++----
 .../2.10.0/plugins/grpc-transcode/index.html       |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/gzip/index.html      |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/hmac-auth/index.html |  10 ++++----
 .../apisix/2.10.0/plugins/http-logger/index.html   |  10 ++++----
 .../2.10.0/plugins/ip-restriction/index.html       |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/jwt-auth/index.html  |  10 ++++----
 .../apisix/2.10.0/plugins/kafka-logger/index.html  |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/key-auth/index.html  |  10 ++++----
 .../apisix/2.10.0/plugins/limit-conn/index.html    |  10 ++++----
 .../apisix/2.10.0/plugins/limit-count/index.html   |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/limit-req/index.html |  10 ++++----
 .../apisix/2.10.0/plugins/log-rotate/index.html    |  10 ++++----
 .../apisix/2.10.0/plugins/mqtt-proxy/index.html    |  10 ++++----
 .../apisix/2.10.0/plugins/node-status/index.html   |  10 ++++----
 .../2.10.0/plugins/openid-connect/index.html       |  10 ++++----
 .../apisix/2.10.0/plugins/prometheus/index.html    |  10 ++++----
 .../apisix/2.10.0/plugins/proxy-cache/index.html   |  10 ++++----
 .../apisix/2.10.0/plugins/proxy-mirror/index.html  |  10 ++++----
 .../apisix/2.10.0/plugins/proxy-rewrite/index.html |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/real-ip/index.html   |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/redirect/index.html  |  10 ++++----
 .../2.10.0/plugins/referer-restriction/index.html  |  10 ++++----
 .../apisix/2.10.0/plugins/request-id/index.html    |  10 ++++----
 .../2.10.0/plugins/request-validation/index.html   |  10 ++++----
 .../2.10.0/plugins/response-rewrite/index.html     |  10 ++++----
 .../apisix/2.10.0/plugins/server-info/index.html   |  10 ++++----
 .../apisix/2.10.0/plugins/serverless/index.html    |  10 ++++----
 .../apisix/2.10.0/plugins/skywalking/index.html    |  10 ++++----
 .../apisix/2.10.0/plugins/sls-logger/index.html    |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/syslog/index.html    |  10 ++++----
 .../apisix/2.10.0/plugins/tcp-logger/index.html    |  10 ++++----
 .../apisix/2.10.0/plugins/traffic-split/index.html |  10 ++++----
 .../2.10.0/plugins/ua-restriction/index.html       |  10 ++++----
 .../apisix/2.10.0/plugins/udp-logger/index.html    |  10 ++++----
 .../apisix/2.10.0/plugins/uri-blocker/index.html   |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/wolf-rbac/index.html |  10 ++++----
 zh/docs/apisix/2.10.0/plugins/zipkin/index.html    |  10 ++++----
 zh/docs/apisix/2.10.0/profile/index.html           |  10 ++++----
 zh/docs/apisix/2.10.0/router-radixtree/index.html  |  10 ++++----
 zh/docs/apisix/2.10.0/stand-alone/index.html       |  10 ++++----
 zh/docs/apisix/2.10.0/stream-proxy/index.html      |  10 ++++----
 zh/docs/apisix/2.10.0/tags/index.html              |  10 ++++----
 zh/docs/apisix/2.4/FAQ/index.html                  |  10 ++++----
 zh/docs/apisix/2.4/IGNORE_DOC/index.html           |  10 ++++----
 zh/docs/apisix/2.4/admin-api/index.html            |  10 ++++----
 .../2.4/architecture-design/apisix/index.html      |  10 ++++----
 .../2.4/architecture-design/consumer/index.html    |  10 ++++----
 .../2.4/architecture-design/debug-mode/index.html  |  10 ++++----
 .../2.4/architecture-design/global-rule/index.html |  10 ++++----
 zh/docs/apisix/2.4/architecture-design/index.html  |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.4/architecture-design/plugin/index.html      |  10 ++++----
 .../2.4/architecture-design/route/index.html       |  10 ++++----
 .../2.4/architecture-design/router/index.html      |  10 ++++----
 .../2.4/architecture-design/script/index.html      |  10 ++++----
 .../2.4/architecture-design/service/index.html     |  10 ++++----
 .../2.4/architecture-design/upstream/index.html    |  10 ++++----
 zh/docs/apisix/2.4/aws/index.html                  |  10 ++++----
 zh/docs/apisix/2.4/batch-processor/index.html      |  10 ++++----
 zh/docs/apisix/2.4/benchmark/index.html            |  10 ++++----
 zh/docs/apisix/2.4/certificate/index.html          |  10 ++++----
 zh/docs/apisix/2.4/control-api/index.html          |  10 ++++----
 .../2.4/customize-nginx-configuration/index.html   |  10 ++++----
 zh/docs/apisix/2.4/debug-function/index.html       |  10 ++++----
 zh/docs/apisix/2.4/discovery/consul_kv/index.html  |  10 ++++----
 zh/docs/apisix/2.4/discovery/dns/index.html        |  10 ++++----
 zh/docs/apisix/2.4/discovery/eureka/index.html     |  10 ++++----
 zh/docs/apisix/2.4/discovery/index.html            |  10 ++++----
 zh/docs/apisix/2.4/discovery/nacos/index.html      |  10 ++++----
 zh/docs/apisix/2.4/dns/index.html                  |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/docs/apisix/2.4/external-plugin/index.html      |  10 ++++----
 zh/docs/apisix/2.4/getting-started/index.html      |  10 ++++----
 zh/docs/apisix/2.4/grpc-proxy/index.html           |  10 ++++----
 zh/docs/apisix/2.4/health-check/index.html         |  10 ++++----
 zh/docs/apisix/2.4/how-to-build/index.html         |  10 ++++----
 zh/docs/apisix/2.4/https/index.html                |  10 ++++----
 zh/docs/apisix/2.4/install-dependencies/index.html |  10 ++++----
 .../2.4/internal/testing-framework/index.html      |  10 ++++----
 zh/docs/apisix/2.4/mtls/index.html                 |  10 ++++----
 zh/docs/apisix/2.4/plugin-develop/index.html       |  10 ++++----
 zh/docs/apisix/2.4/plugin-interceptors/index.html  |  10 ++++----
 zh/docs/apisix/2.4/plugins/api-breaker/index.html  |  10 ++++----
 zh/docs/apisix/2.4/plugins/authz-casbin/index.html |  10 ++++----
 .../apisix/2.4/plugins/authz-keycloak/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/basic-auth/index.html   |  10 ++++----
 .../apisix/2.4/plugins/batch-requests/index.html   |  10 ++++----
 .../apisix/2.4/plugins/client-control/index.html   |  10 ++++----
 .../2.4/plugins/consumer-restriction/index.html    |  10 ++++----
 zh/docs/apisix/2.4/plugins/cors/index.html         |  10 ++++----
 zh/docs/apisix/2.4/plugins/dubbo-proxy/index.html  |  10 ++++----
 zh/docs/apisix/2.4/plugins/echo/index.html         |  10 ++++----
 .../apisix/2.4/plugins/error-log-logger/index.html |  10 ++++----
 .../2.4/plugins/ext-plugin-post-req/index.html     |  10 ++++----
 .../2.4/plugins/ext-plugin-pre-req/index.html      |  10 ++++----
 .../apisix/2.4/plugins/fault-injection/index.html  |  10 ++++----
 .../apisix/2.4/plugins/grpc-transcode/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/gzip/index.html         |  10 ++++----
 zh/docs/apisix/2.4/plugins/hmac-auth/index.html    |  10 ++++----
 zh/docs/apisix/2.4/plugins/http-logger/index.html  |  10 ++++----
 zh/docs/apisix/2.4/plugins/index.html              |  10 ++++----
 .../apisix/2.4/plugins/ip-restriction/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/jwt-auth/index.html     |  10 ++++----
 zh/docs/apisix/2.4/plugins/kafka-logger/index.html |  10 ++++----
 zh/docs/apisix/2.4/plugins/key-auth/index.html     |  10 ++++----
 zh/docs/apisix/2.4/plugins/limit-conn/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/limit-count/index.html  |  10 ++++----
 zh/docs/apisix/2.4/plugins/limit-req/index.html    |  10 ++++----
 zh/docs/apisix/2.4/plugins/log-rotate/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/mqtt-proxy/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/node-status/index.html  |  10 ++++----
 .../apisix/2.4/plugins/openid-connect/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/prometheus/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/proxy-cache/index.html  |  10 ++++----
 zh/docs/apisix/2.4/plugins/proxy-mirror/index.html |  10 ++++----
 .../apisix/2.4/plugins/proxy-rewrite/index.html    |  10 ++++----
 zh/docs/apisix/2.4/plugins/real-ip/index.html      |  10 ++++----
 zh/docs/apisix/2.4/plugins/redirect/index.html     |  10 ++++----
 .../2.4/plugins/referer-restriction/index.html     |  10 ++++----
 zh/docs/apisix/2.4/plugins/request-id/index.html   |  10 ++++----
 .../2.4/plugins/request-validation/index.html      |  10 ++++----
 .../apisix/2.4/plugins/response-rewrite/index.html |  10 ++++----
 zh/docs/apisix/2.4/plugins/server-info/index.html  |  10 ++++----
 zh/docs/apisix/2.4/plugins/serverless/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/skywalking/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/sls-logger/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/syslog/index.html       |  10 ++++----
 zh/docs/apisix/2.4/plugins/tcp-logger/index.html   |  10 ++++----
 .../apisix/2.4/plugins/traffic-split/index.html    |  10 ++++----
 .../apisix/2.4/plugins/ua-restriction/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/udp-logger/index.html   |  10 ++++----
 zh/docs/apisix/2.4/plugins/uri-blocker/index.html  |  10 ++++----
 zh/docs/apisix/2.4/plugins/wolf-rbac/index.html    |  10 ++++----
 zh/docs/apisix/2.4/plugins/zipkin/index.html       |  10 ++++----
 zh/docs/apisix/2.4/powered-by/index.html           |  10 ++++----
 zh/docs/apisix/2.4/profile/index.html              |  10 ++++----
 zh/docs/apisix/2.4/router-radixtree/index.html     |  10 ++++----
 zh/docs/apisix/2.4/stand-alone/index.html          |  10 ++++----
 zh/docs/apisix/2.4/stream-proxy/index.html         |  10 ++++----
 zh/docs/apisix/2.4/tags/index.html                 |  10 ++++----
 zh/docs/apisix/2.5/FAQ/index.html                  |  10 ++++----
 zh/docs/apisix/2.5/IGNORE_DOC/index.html           |  10 ++++----
 zh/docs/apisix/2.5/admin-api/index.html            |  10 ++++----
 .../2.5/architecture-design/apisix/index.html      |  10 ++++----
 .../2.5/architecture-design/consumer/index.html    |  10 ++++----
 .../2.5/architecture-design/debug-mode/index.html  |  10 ++++----
 .../2.5/architecture-design/global-rule/index.html |  10 ++++----
 zh/docs/apisix/2.5/architecture-design/index.html  |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.5/architecture-design/plugin/index.html      |  10 ++++----
 .../2.5/architecture-design/route/index.html       |  10 ++++----
 .../2.5/architecture-design/router/index.html      |  10 ++++----
 .../2.5/architecture-design/script/index.html      |  10 ++++----
 .../2.5/architecture-design/service/index.html     |  10 ++++----
 .../2.5/architecture-design/upstream/index.html    |  10 ++++----
 zh/docs/apisix/2.5/aws/index.html                  |  10 ++++----
 zh/docs/apisix/2.5/batch-processor/index.html      |  10 ++++----
 zh/docs/apisix/2.5/benchmark/index.html            |  10 ++++----
 zh/docs/apisix/2.5/certificate/index.html          |  10 ++++----
 zh/docs/apisix/2.5/control-api/index.html          |  10 ++++----
 .../2.5/customize-nginx-configuration/index.html   |  10 ++++----
 zh/docs/apisix/2.5/debug-function/index.html       |  10 ++++----
 zh/docs/apisix/2.5/discovery/consul_kv/index.html  |  10 ++++----
 zh/docs/apisix/2.5/discovery/dns/index.html        |  10 ++++----
 zh/docs/apisix/2.5/discovery/eureka/index.html     |  10 ++++----
 zh/docs/apisix/2.5/discovery/index.html            |  10 ++++----
 zh/docs/apisix/2.5/discovery/nacos/index.html      |  10 ++++----
 zh/docs/apisix/2.5/dns/index.html                  |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/docs/apisix/2.5/external-plugin/index.html      |  10 ++++----
 zh/docs/apisix/2.5/getting-started/index.html      |  10 ++++----
 zh/docs/apisix/2.5/grpc-proxy/index.html           |  10 ++++----
 zh/docs/apisix/2.5/health-check/index.html         |  10 ++++----
 zh/docs/apisix/2.5/how-to-build/index.html         |  10 ++++----
 zh/docs/apisix/2.5/https/index.html                |  10 ++++----
 zh/docs/apisix/2.5/install-dependencies/index.html |  10 ++++----
 .../2.5/internal/testing-framework/index.html      |  10 ++++----
 zh/docs/apisix/2.5/mtls/index.html                 |  10 ++++----
 zh/docs/apisix/2.5/plugin-develop/index.html       |  10 ++++----
 zh/docs/apisix/2.5/plugin-interceptors/index.html  |  10 ++++----
 zh/docs/apisix/2.5/plugins/api-breaker/index.html  |  10 ++++----
 zh/docs/apisix/2.5/plugins/authz-casbin/index.html |  10 ++++----
 .../apisix/2.5/plugins/authz-keycloak/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/basic-auth/index.html   |  10 ++++----
 .../apisix/2.5/plugins/batch-requests/index.html   |  10 ++++----
 .../apisix/2.5/plugins/client-control/index.html   |  10 ++++----
 .../2.5/plugins/consumer-restriction/index.html    |  10 ++++----
 zh/docs/apisix/2.5/plugins/cors/index.html         |  10 ++++----
 zh/docs/apisix/2.5/plugins/dubbo-proxy/index.html  |  10 ++++----
 zh/docs/apisix/2.5/plugins/echo/index.html         |  10 ++++----
 .../apisix/2.5/plugins/error-log-logger/index.html |  10 ++++----
 .../2.5/plugins/ext-plugin-post-req/index.html     |  10 ++++----
 .../2.5/plugins/ext-plugin-pre-req/index.html      |  10 ++++----
 .../apisix/2.5/plugins/fault-injection/index.html  |  10 ++++----
 .../apisix/2.5/plugins/grpc-transcode/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/gzip/index.html         |  10 ++++----
 zh/docs/apisix/2.5/plugins/hmac-auth/index.html    |  10 ++++----
 zh/docs/apisix/2.5/plugins/http-logger/index.html  |  10 ++++----
 zh/docs/apisix/2.5/plugins/index.html              |  10 ++++----
 .../apisix/2.5/plugins/ip-restriction/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/jwt-auth/index.html     |  10 ++++----
 zh/docs/apisix/2.5/plugins/kafka-logger/index.html |  10 ++++----
 zh/docs/apisix/2.5/plugins/key-auth/index.html     |  10 ++++----
 zh/docs/apisix/2.5/plugins/limit-conn/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/limit-count/index.html  |  10 ++++----
 zh/docs/apisix/2.5/plugins/limit-req/index.html    |  10 ++++----
 zh/docs/apisix/2.5/plugins/log-rotate/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/mqtt-proxy/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/node-status/index.html  |  10 ++++----
 .../apisix/2.5/plugins/openid-connect/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/prometheus/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/proxy-cache/index.html  |  10 ++++----
 zh/docs/apisix/2.5/plugins/proxy-mirror/index.html |  10 ++++----
 .../apisix/2.5/plugins/proxy-rewrite/index.html    |  10 ++++----
 zh/docs/apisix/2.5/plugins/real-ip/index.html      |  10 ++++----
 zh/docs/apisix/2.5/plugins/redirect/index.html     |  10 ++++----
 .../2.5/plugins/referer-restriction/index.html     |  10 ++++----
 zh/docs/apisix/2.5/plugins/request-id/index.html   |  10 ++++----
 .../2.5/plugins/request-validation/index.html      |  10 ++++----
 .../apisix/2.5/plugins/response-rewrite/index.html |  10 ++++----
 zh/docs/apisix/2.5/plugins/server-info/index.html  |  10 ++++----
 zh/docs/apisix/2.5/plugins/serverless/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/skywalking/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/sls-logger/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/syslog/index.html       |  10 ++++----
 zh/docs/apisix/2.5/plugins/tcp-logger/index.html   |  10 ++++----
 .../apisix/2.5/plugins/traffic-split/index.html    |  10 ++++----
 .../apisix/2.5/plugins/ua-restriction/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/udp-logger/index.html   |  10 ++++----
 zh/docs/apisix/2.5/plugins/uri-blocker/index.html  |  10 ++++----
 zh/docs/apisix/2.5/plugins/wolf-rbac/index.html    |  10 ++++----
 zh/docs/apisix/2.5/plugins/zipkin/index.html       |  10 ++++----
 zh/docs/apisix/2.5/powered-by/index.html           |  10 ++++----
 zh/docs/apisix/2.5/profile/index.html              |  10 ++++----
 zh/docs/apisix/2.5/router-radixtree/index.html     |  10 ++++----
 zh/docs/apisix/2.5/stand-alone/index.html          |  10 ++++----
 zh/docs/apisix/2.5/stream-proxy/index.html         |  10 ++++----
 zh/docs/apisix/2.5/tags/index.html                 |  10 ++++----
 zh/docs/apisix/2.6/FAQ/index.html                  |  10 ++++----
 zh/docs/apisix/2.6/IGNORE_DOC/index.html           |  10 ++++----
 zh/docs/apisix/2.6/admin-api/index.html            |  10 ++++----
 .../2.6/architecture-design/apisix/index.html      |  10 ++++----
 .../2.6/architecture-design/consumer/index.html    |  10 ++++----
 .../2.6/architecture-design/debug-mode/index.html  |  10 ++++----
 .../2.6/architecture-design/global-rule/index.html |  10 ++++----
 zh/docs/apisix/2.6/architecture-design/index.html  |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.6/architecture-design/plugin/index.html      |  10 ++++----
 .../2.6/architecture-design/route/index.html       |  10 ++++----
 .../2.6/architecture-design/router/index.html      |  10 ++++----
 .../2.6/architecture-design/script/index.html      |  10 ++++----
 .../2.6/architecture-design/service/index.html     |  10 ++++----
 .../2.6/architecture-design/upstream/index.html    |  10 ++++----
 zh/docs/apisix/2.6/aws/index.html                  |  10 ++++----
 zh/docs/apisix/2.6/batch-processor/index.html      |  10 ++++----
 zh/docs/apisix/2.6/benchmark/index.html            |  10 ++++----
 zh/docs/apisix/2.6/certificate/index.html          |  10 ++++----
 zh/docs/apisix/2.6/control-api/index.html          |  10 ++++----
 .../2.6/customize-nginx-configuration/index.html   |  10 ++++----
 zh/docs/apisix/2.6/debug-function/index.html       |  10 ++++----
 zh/docs/apisix/2.6/discovery/consul_kv/index.html  |  10 ++++----
 zh/docs/apisix/2.6/discovery/dns/index.html        |  10 ++++----
 zh/docs/apisix/2.6/discovery/eureka/index.html     |  10 ++++----
 zh/docs/apisix/2.6/discovery/index.html            |  10 ++++----
 zh/docs/apisix/2.6/discovery/nacos/index.html      |  10 ++++----
 zh/docs/apisix/2.6/dns/index.html                  |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/docs/apisix/2.6/external-plugin/index.html      |  10 ++++----
 zh/docs/apisix/2.6/getting-started/index.html      |  10 ++++----
 zh/docs/apisix/2.6/grpc-proxy/index.html           |  10 ++++----
 zh/docs/apisix/2.6/health-check/index.html         |  10 ++++----
 zh/docs/apisix/2.6/how-to-build/index.html         |  10 ++++----
 zh/docs/apisix/2.6/https/index.html                |  10 ++++----
 zh/docs/apisix/2.6/install-dependencies/index.html |  10 ++++----
 .../2.6/internal/testing-framework/index.html      |  10 ++++----
 zh/docs/apisix/2.6/mtls/index.html                 |  10 ++++----
 zh/docs/apisix/2.6/plugin-develop/index.html       |  10 ++++----
 zh/docs/apisix/2.6/plugin-interceptors/index.html  |  10 ++++----
 zh/docs/apisix/2.6/plugins/api-breaker/index.html  |  10 ++++----
 zh/docs/apisix/2.6/plugins/authz-casbin/index.html |  10 ++++----
 .../apisix/2.6/plugins/authz-keycloak/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/basic-auth/index.html   |  10 ++++----
 .../apisix/2.6/plugins/batch-requests/index.html   |  10 ++++----
 .../apisix/2.6/plugins/client-control/index.html   |  10 ++++----
 .../2.6/plugins/consumer-restriction/index.html    |  10 ++++----
 zh/docs/apisix/2.6/plugins/cors/index.html         |  10 ++++----
 zh/docs/apisix/2.6/plugins/dubbo-proxy/index.html  |  10 ++++----
 zh/docs/apisix/2.6/plugins/echo/index.html         |  10 ++++----
 .../apisix/2.6/plugins/error-log-logger/index.html |  10 ++++----
 .../2.6/plugins/ext-plugin-post-req/index.html     |  10 ++++----
 .../2.6/plugins/ext-plugin-pre-req/index.html      |  10 ++++----
 .../apisix/2.6/plugins/fault-injection/index.html  |  10 ++++----
 .../apisix/2.6/plugins/grpc-transcode/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/gzip/index.html         |  10 ++++----
 zh/docs/apisix/2.6/plugins/hmac-auth/index.html    |  10 ++++----
 zh/docs/apisix/2.6/plugins/http-logger/index.html  |  10 ++++----
 zh/docs/apisix/2.6/plugins/index.html              |  10 ++++----
 .../apisix/2.6/plugins/ip-restriction/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/jwt-auth/index.html     |  10 ++++----
 zh/docs/apisix/2.6/plugins/kafka-logger/index.html |  10 ++++----
 zh/docs/apisix/2.6/plugins/key-auth/index.html     |  10 ++++----
 zh/docs/apisix/2.6/plugins/limit-conn/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/limit-count/index.html  |  10 ++++----
 zh/docs/apisix/2.6/plugins/limit-req/index.html    |  10 ++++----
 zh/docs/apisix/2.6/plugins/log-rotate/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/mqtt-proxy/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/node-status/index.html  |  10 ++++----
 .../apisix/2.6/plugins/openid-connect/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/prometheus/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/proxy-cache/index.html  |  10 ++++----
 zh/docs/apisix/2.6/plugins/proxy-mirror/index.html |  10 ++++----
 .../apisix/2.6/plugins/proxy-rewrite/index.html    |  10 ++++----
 zh/docs/apisix/2.6/plugins/real-ip/index.html      |  10 ++++----
 zh/docs/apisix/2.6/plugins/redirect/index.html     |  10 ++++----
 .../2.6/plugins/referer-restriction/index.html     |  10 ++++----
 zh/docs/apisix/2.6/plugins/request-id/index.html   |  10 ++++----
 .../2.6/plugins/request-validation/index.html      |  10 ++++----
 .../apisix/2.6/plugins/response-rewrite/index.html |  10 ++++----
 zh/docs/apisix/2.6/plugins/server-info/index.html  |  10 ++++----
 zh/docs/apisix/2.6/plugins/serverless/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/skywalking/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/sls-logger/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/syslog/index.html       |  10 ++++----
 zh/docs/apisix/2.6/plugins/tcp-logger/index.html   |  10 ++++----
 .../apisix/2.6/plugins/traffic-split/index.html    |  10 ++++----
 .../apisix/2.6/plugins/ua-restriction/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/udp-logger/index.html   |  10 ++++----
 zh/docs/apisix/2.6/plugins/uri-blocker/index.html  |  10 ++++----
 zh/docs/apisix/2.6/plugins/wolf-rbac/index.html    |  10 ++++----
 zh/docs/apisix/2.6/plugins/zipkin/index.html       |  10 ++++----
 zh/docs/apisix/2.6/powered-by/index.html           |  10 ++++----
 zh/docs/apisix/2.6/profile/index.html              |  10 ++++----
 zh/docs/apisix/2.6/router-radixtree/index.html     |  10 ++++----
 zh/docs/apisix/2.6/stand-alone/index.html          |  10 ++++----
 zh/docs/apisix/2.6/stream-proxy/index.html         |  10 ++++----
 zh/docs/apisix/2.6/tags/index.html                 |  10 ++++----
 zh/docs/apisix/2.7/FAQ/index.html                  |  10 ++++----
 zh/docs/apisix/2.7/IGNORE_DOC/index.html           |  10 ++++----
 zh/docs/apisix/2.7/admin-api/index.html            |  10 ++++----
 .../2.7/architecture-design/apisix/index.html      |  10 ++++----
 .../2.7/architecture-design/consumer/index.html    |  10 ++++----
 .../2.7/architecture-design/debug-mode/index.html  |  10 ++++----
 .../2.7/architecture-design/global-rule/index.html |  10 ++++----
 zh/docs/apisix/2.7/architecture-design/index.html  |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.7/architecture-design/plugin/index.html      |  10 ++++----
 .../2.7/architecture-design/route/index.html       |  10 ++++----
 .../2.7/architecture-design/router/index.html      |  10 ++++----
 .../2.7/architecture-design/script/index.html      |  10 ++++----
 .../2.7/architecture-design/service/index.html     |  10 ++++----
 .../2.7/architecture-design/upstream/index.html    |  10 ++++----
 zh/docs/apisix/2.7/aws/index.html                  |  10 ++++----
 zh/docs/apisix/2.7/batch-processor/index.html      |  10 ++++----
 zh/docs/apisix/2.7/benchmark/index.html            |  10 ++++----
 zh/docs/apisix/2.7/certificate/index.html          |  10 ++++----
 zh/docs/apisix/2.7/control-api/index.html          |  10 ++++----
 .../2.7/customize-nginx-configuration/index.html   |  10 ++++----
 zh/docs/apisix/2.7/debug-function/index.html       |  10 ++++----
 zh/docs/apisix/2.7/discovery/consul_kv/index.html  |  10 ++++----
 zh/docs/apisix/2.7/discovery/dns/index.html        |  10 ++++----
 zh/docs/apisix/2.7/discovery/eureka/index.html     |  10 ++++----
 zh/docs/apisix/2.7/discovery/index.html            |  10 ++++----
 zh/docs/apisix/2.7/discovery/nacos/index.html      |  10 ++++----
 zh/docs/apisix/2.7/dns/index.html                  |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/docs/apisix/2.7/external-plugin/index.html      |  10 ++++----
 zh/docs/apisix/2.7/getting-started/index.html      |  10 ++++----
 zh/docs/apisix/2.7/grpc-proxy/index.html           |  10 ++++----
 zh/docs/apisix/2.7/health-check/index.html         |  10 ++++----
 zh/docs/apisix/2.7/how-to-build/index.html         |  10 ++++----
 zh/docs/apisix/2.7/https/index.html                |  10 ++++----
 zh/docs/apisix/2.7/install-dependencies/index.html |  10 ++++----
 .../2.7/internal/testing-framework/index.html      |  10 ++++----
 zh/docs/apisix/2.7/mtls/index.html                 |  10 ++++----
 zh/docs/apisix/2.7/plugin-develop/index.html       |  10 ++++----
 zh/docs/apisix/2.7/plugin-interceptors/index.html  |  10 ++++----
 zh/docs/apisix/2.7/plugins/api-breaker/index.html  |  10 ++++----
 zh/docs/apisix/2.7/plugins/authz-casbin/index.html |  10 ++++----
 .../apisix/2.7/plugins/authz-keycloak/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/basic-auth/index.html   |  10 ++++----
 .../apisix/2.7/plugins/batch-requests/index.html   |  10 ++++----
 .../apisix/2.7/plugins/client-control/index.html   |  10 ++++----
 .../2.7/plugins/consumer-restriction/index.html    |  10 ++++----
 zh/docs/apisix/2.7/plugins/cors/index.html         |  10 ++++----
 zh/docs/apisix/2.7/plugins/dubbo-proxy/index.html  |  10 ++++----
 zh/docs/apisix/2.7/plugins/echo/index.html         |  10 ++++----
 .../apisix/2.7/plugins/error-log-logger/index.html |  10 ++++----
 .../2.7/plugins/ext-plugin-post-req/index.html     |  10 ++++----
 .../2.7/plugins/ext-plugin-pre-req/index.html      |  10 ++++----
 .../apisix/2.7/plugins/fault-injection/index.html  |  10 ++++----
 .../apisix/2.7/plugins/grpc-transcode/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/gzip/index.html         |  10 ++++----
 zh/docs/apisix/2.7/plugins/hmac-auth/index.html    |  10 ++++----
 zh/docs/apisix/2.7/plugins/http-logger/index.html  |  10 ++++----
 zh/docs/apisix/2.7/plugins/index.html              |  10 ++++----
 .../apisix/2.7/plugins/ip-restriction/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/jwt-auth/index.html     |  10 ++++----
 zh/docs/apisix/2.7/plugins/kafka-logger/index.html |  10 ++++----
 zh/docs/apisix/2.7/plugins/key-auth/index.html     |  10 ++++----
 zh/docs/apisix/2.7/plugins/limit-conn/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/limit-count/index.html  |  10 ++++----
 zh/docs/apisix/2.7/plugins/limit-req/index.html    |  10 ++++----
 zh/docs/apisix/2.7/plugins/log-rotate/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/mqtt-proxy/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/node-status/index.html  |  10 ++++----
 .../apisix/2.7/plugins/openid-connect/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/prometheus/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/proxy-cache/index.html  |  10 ++++----
 zh/docs/apisix/2.7/plugins/proxy-mirror/index.html |  10 ++++----
 .../apisix/2.7/plugins/proxy-rewrite/index.html    |  10 ++++----
 zh/docs/apisix/2.7/plugins/real-ip/index.html      |  10 ++++----
 zh/docs/apisix/2.7/plugins/redirect/index.html     |  10 ++++----
 .../2.7/plugins/referer-restriction/index.html     |  10 ++++----
 zh/docs/apisix/2.7/plugins/request-id/index.html   |  10 ++++----
 .../2.7/plugins/request-validation/index.html      |  10 ++++----
 .../apisix/2.7/plugins/response-rewrite/index.html |  10 ++++----
 zh/docs/apisix/2.7/plugins/server-info/index.html  |  10 ++++----
 zh/docs/apisix/2.7/plugins/serverless/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/skywalking/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/sls-logger/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/syslog/index.html       |  10 ++++----
 zh/docs/apisix/2.7/plugins/tcp-logger/index.html   |  10 ++++----
 .../apisix/2.7/plugins/traffic-split/index.html    |  10 ++++----
 .../apisix/2.7/plugins/ua-restriction/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/udp-logger/index.html   |  10 ++++----
 zh/docs/apisix/2.7/plugins/uri-blocker/index.html  |  10 ++++----
 zh/docs/apisix/2.7/plugins/wolf-rbac/index.html    |  10 ++++----
 zh/docs/apisix/2.7/plugins/zipkin/index.html       |  10 ++++----
 zh/docs/apisix/2.7/powered-by/index.html           |  10 ++++----
 zh/docs/apisix/2.7/profile/index.html              |  10 ++++----
 zh/docs/apisix/2.7/router-radixtree/index.html     |  10 ++++----
 zh/docs/apisix/2.7/stand-alone/index.html          |  10 ++++----
 zh/docs/apisix/2.7/stream-proxy/index.html         |  10 ++++----
 zh/docs/apisix/2.7/tags/index.html                 |  10 ++++----
 zh/docs/apisix/2.8/FAQ/index.html                  |  10 ++++----
 zh/docs/apisix/2.8/IGNORE_DOC/index.html           |  10 ++++----
 zh/docs/apisix/2.8/admin-api/index.html            |  10 ++++----
 .../2.8/architecture-design/apisix/index.html      |  10 ++++----
 .../2.8/architecture-design/consumer/index.html    |  10 ++++----
 .../2.8/architecture-design/debug-mode/index.html  |  10 ++++----
 .../2.8/architecture-design/global-rule/index.html |  10 ++++----
 zh/docs/apisix/2.8/architecture-design/index.html  |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../2.8/architecture-design/plugin/index.html      |  10 ++++----
 .../2.8/architecture-design/route/index.html       |  10 ++++----
 .../2.8/architecture-design/router/index.html      |  10 ++++----
 .../2.8/architecture-design/script/index.html      |  10 ++++----
 .../2.8/architecture-design/service/index.html     |  10 ++++----
 .../2.8/architecture-design/upstream/index.html    |  10 ++++----
 zh/docs/apisix/2.8/aws/index.html                  |  10 ++++----
 zh/docs/apisix/2.8/batch-processor/index.html      |  10 ++++----
 zh/docs/apisix/2.8/benchmark/index.html            |  10 ++++----
 zh/docs/apisix/2.8/certificate/index.html          |  10 ++++----
 zh/docs/apisix/2.8/control-api/index.html          |  10 ++++----
 .../2.8/customize-nginx-configuration/index.html   |  10 ++++----
 zh/docs/apisix/2.8/debug-function/index.html       |  10 ++++----
 zh/docs/apisix/2.8/discovery/consul_kv/index.html  |  10 ++++----
 zh/docs/apisix/2.8/discovery/dns/index.html        |  10 ++++----
 zh/docs/apisix/2.8/discovery/eureka/index.html     |  10 ++++----
 zh/docs/apisix/2.8/discovery/index.html            |  10 ++++----
 zh/docs/apisix/2.8/discovery/nacos/index.html      |  10 ++++----
 zh/docs/apisix/2.8/dns/index.html                  |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/docs/apisix/2.8/external-plugin/index.html      |  10 ++++----
 zh/docs/apisix/2.8/getting-started/index.html      |  10 ++++----
 zh/docs/apisix/2.8/grpc-proxy/index.html           |  10 ++++----
 zh/docs/apisix/2.8/health-check/index.html         |  10 ++++----
 zh/docs/apisix/2.8/how-to-build/index.html         |  10 ++++----
 zh/docs/apisix/2.8/https/index.html                |  10 ++++----
 zh/docs/apisix/2.8/install-dependencies/index.html |  10 ++++----
 .../2.8/internal/testing-framework/index.html      |  10 ++++----
 zh/docs/apisix/2.8/mtls/index.html                 |  10 ++++----
 zh/docs/apisix/2.8/plugin-develop/index.html       |  10 ++++----
 zh/docs/apisix/2.8/plugin-interceptors/index.html  |  10 ++++----
 zh/docs/apisix/2.8/plugins/api-breaker/index.html  |  10 ++++----
 zh/docs/apisix/2.8/plugins/authz-casbin/index.html |  10 ++++----
 .../apisix/2.8/plugins/authz-keycloak/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/basic-auth/index.html   |  10 ++++----
 .../apisix/2.8/plugins/batch-requests/index.html   |  10 ++++----
 .../apisix/2.8/plugins/client-control/index.html   |  10 ++++----
 .../2.8/plugins/consumer-restriction/index.html    |  10 ++++----
 zh/docs/apisix/2.8/plugins/cors/index.html         |  10 ++++----
 zh/docs/apisix/2.8/plugins/dubbo-proxy/index.html  |  10 ++++----
 zh/docs/apisix/2.8/plugins/echo/index.html         |  10 ++++----
 .../apisix/2.8/plugins/error-log-logger/index.html |  10 ++++----
 .../2.8/plugins/ext-plugin-post-req/index.html     |  10 ++++----
 .../2.8/plugins/ext-plugin-pre-req/index.html      |  10 ++++----
 .../apisix/2.8/plugins/fault-injection/index.html  |  10 ++++----
 .../apisix/2.8/plugins/grpc-transcode/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/gzip/index.html         |  10 ++++----
 zh/docs/apisix/2.8/plugins/hmac-auth/index.html    |  10 ++++----
 zh/docs/apisix/2.8/plugins/http-logger/index.html  |  10 ++++----
 zh/docs/apisix/2.8/plugins/index.html              |  10 ++++----
 .../apisix/2.8/plugins/ip-restriction/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/jwt-auth/index.html     |  10 ++++----
 zh/docs/apisix/2.8/plugins/kafka-logger/index.html |  10 ++++----
 zh/docs/apisix/2.8/plugins/key-auth/index.html     |  10 ++++----
 zh/docs/apisix/2.8/plugins/limit-conn/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/limit-count/index.html  |  10 ++++----
 zh/docs/apisix/2.8/plugins/limit-req/index.html    |  10 ++++----
 zh/docs/apisix/2.8/plugins/log-rotate/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/mqtt-proxy/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/node-status/index.html  |  10 ++++----
 .../apisix/2.8/plugins/openid-connect/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/prometheus/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/proxy-cache/index.html  |  10 ++++----
 zh/docs/apisix/2.8/plugins/proxy-mirror/index.html |  10 ++++----
 .../apisix/2.8/plugins/proxy-rewrite/index.html    |  10 ++++----
 zh/docs/apisix/2.8/plugins/real-ip/index.html      |  10 ++++----
 zh/docs/apisix/2.8/plugins/redirect/index.html     |  10 ++++----
 .../2.8/plugins/referer-restriction/index.html     |  10 ++++----
 zh/docs/apisix/2.8/plugins/request-id/index.html   |  10 ++++----
 .../2.8/plugins/request-validation/index.html      |  10 ++++----
 .../apisix/2.8/plugins/response-rewrite/index.html |  10 ++++----
 zh/docs/apisix/2.8/plugins/server-info/index.html  |  10 ++++----
 zh/docs/apisix/2.8/plugins/serverless/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/skywalking/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/sls-logger/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/syslog/index.html       |  10 ++++----
 zh/docs/apisix/2.8/plugins/tcp-logger/index.html   |  10 ++++----
 .../apisix/2.8/plugins/traffic-split/index.html    |  10 ++++----
 .../apisix/2.8/plugins/ua-restriction/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/udp-logger/index.html   |  10 ++++----
 zh/docs/apisix/2.8/plugins/uri-blocker/index.html  |  10 ++++----
 zh/docs/apisix/2.8/plugins/wolf-rbac/index.html    |  10 ++++----
 zh/docs/apisix/2.8/plugins/zipkin/index.html       |  10 ++++----
 zh/docs/apisix/2.8/powered-by/index.html           |  10 ++++----
 zh/docs/apisix/2.8/profile/index.html              |  10 ++++----
 zh/docs/apisix/2.8/router-radixtree/index.html     |  10 ++++----
 zh/docs/apisix/2.8/stand-alone/index.html          |  10 ++++----
 zh/docs/apisix/2.8/stream-proxy/index.html         |  10 ++++----
 zh/docs/apisix/2.8/tags/index.html                 |  10 ++++----
 zh/docs/apisix/FAQ/index.html                      |  10 ++++----
 zh/docs/apisix/IGNORE_DOC/index.html               |  10 ++++----
 zh/docs/apisix/admin-api/index.html                |  10 ++++----
 .../apisix/architecture-design/apisix/index.html   |  10 ++++----
 .../apisix/architecture-design/consumer/index.html |  10 ++++----
 .../architecture-design/debug-mode/index.html      |  10 ++++----
 .../architecture-design/global-rule/index.html     |  10 ++++----
 zh/docs/apisix/architecture-design/index.html      |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../apisix/architecture-design/plugin/index.html   |  10 ++++----
 .../apisix/architecture-design/route/index.html    |  10 ++++----
 .../apisix/architecture-design/router/index.html   |  10 ++++----
 .../apisix/architecture-design/script/index.html   |  10 ++++----
 .../apisix/architecture-design/service/index.html  |  10 ++++----
 .../apisix/architecture-design/upstream/index.html |  10 ++++----
 zh/docs/apisix/aws/index.html                      |  10 ++++----
 zh/docs/apisix/batch-processor/index.html          |  10 ++++----
 zh/docs/apisix/benchmark/index.html                |  10 ++++----
 zh/docs/apisix/certificate/index.html              |  10 ++++----
 zh/docs/apisix/control-api/index.html              |  10 ++++----
 .../customize-nginx-configuration/index.html       |  10 ++++----
 zh/docs/apisix/debug-function/index.html           |  10 ++++----
 zh/docs/apisix/discovery/consul_kv/index.html      |  10 ++++----
 zh/docs/apisix/discovery/dns/index.html            |  10 ++++----
 zh/docs/apisix/discovery/eureka/index.html         |  10 ++++----
 zh/docs/apisix/discovery/index.html                |  10 ++++----
 zh/docs/apisix/discovery/nacos/index.html          |  10 ++++----
 zh/docs/apisix/dns/index.html                      |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/docs/apisix/external-plugin/index.html          |  10 ++++----
 zh/docs/apisix/getting-started/index.html          |  10 ++++----
 zh/docs/apisix/grpc-proxy/index.html               |  10 ++++----
 zh/docs/apisix/health-check/index.html             |  10 ++++----
 zh/docs/apisix/how-to-build/index.html             |  10 ++++----
 zh/docs/apisix/https/index.html                    |  10 ++++----
 zh/docs/apisix/install-dependencies/index.html     |  10 ++++----
 .../apisix/internal/testing-framework/index.html   |  10 ++++----
 zh/docs/apisix/mtls/index.html                     |  10 ++++----
 zh/docs/apisix/next/FAQ/index.html                 |  10 ++++----
 zh/docs/apisix/next/IGNORE_DOC/index.html          |  12 ++++-----
 zh/docs/apisix/next/admin-api/index.html           |  10 ++++----
 .../next/architecture-design/apisix/index.html     |  10 ++++----
 .../next/architecture-design/consumer/index.html   |  10 ++++----
 .../next/architecture-design/debug-mode/index.html |  10 ++++----
 .../architecture-design/global-rule/index.html     |  10 ++++----
 zh/docs/apisix/next/architecture-design/index.html |  10 ++++----
 .../architecture-design/plugin-config/index.html   |  10 ++++----
 .../next/architecture-design/plugin/index.html     |  10 ++++----
 .../next/architecture-design/route/index.html      |  10 ++++----
 .../next/architecture-design/router/index.html     |  10 ++++----
 .../next/architecture-design/script/index.html     |  10 ++++----
 .../next/architecture-design/service/index.html    |  10 ++++----
 .../next/architecture-design/upstream/index.html   |  10 ++++----
 zh/docs/apisix/next/aws/index.html                 |  10 ++++----
 zh/docs/apisix/next/batch-processor/index.html     |  10 ++++----
 zh/docs/apisix/next/benchmark/index.html           |  10 ++++----
 zh/docs/apisix/next/certificate/index.html         |  10 ++++----
 zh/docs/apisix/next/control-api/index.html         |  10 ++++----
 .../next/customize-nginx-configuration/index.html  |  10 ++++----
 zh/docs/apisix/next/debug-function/index.html      |  10 ++++----
 zh/docs/apisix/next/discovery/consul_kv/index.html |  10 ++++----
 zh/docs/apisix/next/discovery/dns/index.html       |  10 ++++----
 zh/docs/apisix/next/discovery/eureka/index.html    |  10 ++++----
 zh/docs/apisix/next/discovery/index.html           |  10 ++++----
 zh/docs/apisix/next/discovery/nacos/index.html     |  10 ++++----
 zh/docs/apisix/next/dns/index.html                 |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/docs/apisix/next/external-plugin/index.html     |  10 ++++----
 zh/docs/apisix/next/getting-started/index.html     |  10 ++++----
 zh/docs/apisix/next/grpc-proxy/index.html          |  10 ++++----
 zh/docs/apisix/next/health-check/index.html        |  10 ++++----
 zh/docs/apisix/next/how-to-build/index.html        |  10 ++++----
 zh/docs/apisix/next/https/index.html               |  10 ++++----
 .../apisix/next/install-dependencies/index.html    |  10 ++++----
 .../next/internal/testing-framework/index.html     |  10 ++++----
 zh/docs/apisix/next/mtls/index.html                |  10 ++++----
 zh/docs/apisix/next/plugin-develop/index.html      |  10 ++++----
 zh/docs/apisix/next/plugin-interceptors/index.html |  10 ++++----
 zh/docs/apisix/next/plugins/api-breaker/index.html |  10 ++++----
 .../apisix/next/plugins/authz-casbin/index.html    |  10 ++++----
 .../apisix/next/plugins/authz-keycloak/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/basic-auth/index.html  |  10 ++++----
 .../apisix/next/plugins/batch-requests/index.html  |  10 ++++----
 .../apisix/next/plugins/client-control/index.html  |  10 ++++----
 .../next/plugins/consumer-restriction/index.html   |  10 ++++----
 zh/docs/apisix/next/plugins/cors/index.html        |  10 ++++----
 zh/docs/apisix/next/plugins/dubbo-proxy/index.html |  10 ++++----
 zh/docs/apisix/next/plugins/echo/index.html        |  10 ++++----
 .../next/plugins/error-log-logger/index.html       |  10 ++++----
 .../next/plugins/ext-plugin-post-req/index.html    |  10 ++++----
 .../next/plugins/ext-plugin-pre-req/index.html     |  10 ++++----
 .../apisix/next/plugins/fault-injection/index.html |  10 ++++----
 .../apisix/next/plugins/grpc-transcode/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/gzip/index.html        |  10 ++++----
 zh/docs/apisix/next/plugins/hmac-auth/index.html   |  10 ++++----
 zh/docs/apisix/next/plugins/http-logger/index.html |  10 ++++----
 zh/docs/apisix/next/plugins/index.html             |  10 ++++----
 .../apisix/next/plugins/ip-restriction/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/jwt-auth/index.html    |  10 ++++----
 .../apisix/next/plugins/kafka-logger/index.html    |  10 ++++----
 zh/docs/apisix/next/plugins/key-auth/index.html    |  10 ++++----
 zh/docs/apisix/next/plugins/limit-conn/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/limit-count/index.html |  10 ++++----
 zh/docs/apisix/next/plugins/limit-req/index.html   |  10 ++++----
 zh/docs/apisix/next/plugins/log-rotate/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/mqtt-proxy/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/node-status/index.html |  10 ++++----
 .../apisix/next/plugins/openid-connect/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/prometheus/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/proxy-cache/index.html |  10 ++++----
 .../apisix/next/plugins/proxy-mirror/index.html    |  10 ++++----
 .../apisix/next/plugins/proxy-rewrite/index.html   |  10 ++++----
 zh/docs/apisix/next/plugins/real-ip/index.html     |  10 ++++----
 zh/docs/apisix/next/plugins/redirect/index.html    |  10 ++++----
 .../next/plugins/referer-restriction/index.html    |  10 ++++----
 zh/docs/apisix/next/plugins/request-id/index.html  |  10 ++++----
 .../next/plugins/request-validation/index.html     |  10 ++++----
 .../next/plugins/response-rewrite/index.html       |  10 ++++----
 zh/docs/apisix/next/plugins/server-info/index.html |  10 ++++----
 zh/docs/apisix/next/plugins/serverless/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/skywalking/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/sls-logger/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/syslog/index.html      |  10 ++++----
 zh/docs/apisix/next/plugins/tcp-logger/index.html  |  10 ++++----
 .../apisix/next/plugins/traffic-split/index.html   |  10 ++++----
 .../apisix/next/plugins/ua-restriction/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/udp-logger/index.html  |  10 ++++----
 zh/docs/apisix/next/plugins/uri-blocker/index.html |  10 ++++----
 zh/docs/apisix/next/plugins/wolf-rbac/index.html   |  10 ++++----
 zh/docs/apisix/next/plugins/zipkin/index.html      |  10 ++++----
 zh/docs/apisix/next/powered-by/index.html          |  10 ++++----
 zh/docs/apisix/next/profile/index.html             |  10 ++++----
 zh/docs/apisix/next/router-radixtree/index.html    |  10 ++++----
 zh/docs/apisix/next/stand-alone/index.html         |  10 ++++----
 zh/docs/apisix/next/stream-proxy/index.html        |  10 ++++----
 zh/docs/apisix/next/tags/index.html                |  10 ++++----
 zh/docs/apisix/plugin-develop/index.html           |  10 ++++----
 zh/docs/apisix/plugin-interceptors/index.html      |  10 ++++----
 zh/docs/apisix/plugins/api-breaker/index.html      |  10 ++++----
 zh/docs/apisix/plugins/authz-casbin/index.html     |  10 ++++----
 zh/docs/apisix/plugins/authz-keycloak/index.html   |  10 ++++----
 zh/docs/apisix/plugins/basic-auth/index.html       |  10 ++++----
 zh/docs/apisix/plugins/batch-requests/index.html   |  10 ++++----
 zh/docs/apisix/plugins/client-control/index.html   |  10 ++++----
 .../apisix/plugins/consumer-restriction/index.html |  10 ++++----
 zh/docs/apisix/plugins/cors/index.html             |  10 ++++----
 zh/docs/apisix/plugins/dubbo-proxy/index.html      |  10 ++++----
 zh/docs/apisix/plugins/echo/index.html             |  10 ++++----
 zh/docs/apisix/plugins/error-log-logger/index.html |  10 ++++----
 .../apisix/plugins/ext-plugin-post-req/index.html  |  10 ++++----
 .../apisix/plugins/ext-plugin-pre-req/index.html   |  10 ++++----
 zh/docs/apisix/plugins/fault-injection/index.html  |  10 ++++----
 zh/docs/apisix/plugins/grpc-transcode/index.html   |  10 ++++----
 zh/docs/apisix/plugins/gzip/index.html             |  10 ++++----
 zh/docs/apisix/plugins/hmac-auth/index.html        |  10 ++++----
 zh/docs/apisix/plugins/http-logger/index.html      |  10 ++++----
 zh/docs/apisix/plugins/index.html                  |  10 ++++----
 zh/docs/apisix/plugins/ip-restriction/index.html   |  10 ++++----
 zh/docs/apisix/plugins/jwt-auth/index.html         |  10 ++++----
 zh/docs/apisix/plugins/kafka-logger/index.html     |  10 ++++----
 zh/docs/apisix/plugins/key-auth/index.html         |  10 ++++----
 zh/docs/apisix/plugins/limit-conn/index.html       |  10 ++++----
 zh/docs/apisix/plugins/limit-count/index.html      |  10 ++++----
 zh/docs/apisix/plugins/limit-req/index.html        |  10 ++++----
 zh/docs/apisix/plugins/log-rotate/index.html       |  10 ++++----
 zh/docs/apisix/plugins/mqtt-proxy/index.html       |  10 ++++----
 zh/docs/apisix/plugins/node-status/index.html      |  10 ++++----
 zh/docs/apisix/plugins/openid-connect/index.html   |  10 ++++----
 zh/docs/apisix/plugins/prometheus/index.html       |  10 ++++----
 zh/docs/apisix/plugins/proxy-cache/index.html      |  10 ++++----
 zh/docs/apisix/plugins/proxy-mirror/index.html     |  10 ++++----
 zh/docs/apisix/plugins/proxy-rewrite/index.html    |  10 ++++----
 zh/docs/apisix/plugins/real-ip/index.html          |  10 ++++----
 zh/docs/apisix/plugins/redirect/index.html         |  10 ++++----
 .../apisix/plugins/referer-restriction/index.html  |  10 ++++----
 zh/docs/apisix/plugins/request-id/index.html       |  10 ++++----
 .../apisix/plugins/request-validation/index.html   |  10 ++++----
 zh/docs/apisix/plugins/response-rewrite/index.html |  10 ++++----
 zh/docs/apisix/plugins/server-info/index.html      |  10 ++++----
 zh/docs/apisix/plugins/serverless/index.html       |  10 ++++----
 zh/docs/apisix/plugins/skywalking/index.html       |  10 ++++----
 zh/docs/apisix/plugins/sls-logger/index.html       |  10 ++++----
 zh/docs/apisix/plugins/syslog/index.html           |  10 ++++----
 zh/docs/apisix/plugins/tcp-logger/index.html       |  10 ++++----
 zh/docs/apisix/plugins/traffic-split/index.html    |  10 ++++----
 zh/docs/apisix/plugins/ua-restriction/index.html   |  10 ++++----
 zh/docs/apisix/plugins/udp-logger/index.html       |  10 ++++----
 zh/docs/apisix/plugins/uri-blocker/index.html      |  10 ++++----
 zh/docs/apisix/plugins/wolf-rbac/index.html        |  10 ++++----
 zh/docs/apisix/plugins/zipkin/index.html           |  10 ++++----
 zh/docs/apisix/powered-by/index.html               |  10 ++++----
 zh/docs/apisix/profile/index.html                  |  10 ++++----
 zh/docs/apisix/router-radixtree/index.html         |  10 ++++----
 zh/docs/apisix/stand-alone/index.html              |  10 ++++----
 zh/docs/apisix/stream-proxy/index.html             |  10 ++++----
 zh/docs/apisix/tags/index.html                     |  10 ++++----
 zh/docs/dashboard/2.5/FAQ/index.html               |  10 ++++----
 zh/docs/dashboard/2.5/I18N_USER_GUIDE/index.html   |  10 ++++----
 zh/docs/dashboard/2.5/IGNORE_DOC/index.html        |  10 ++++----
 .../2.5/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 ++++----
 zh/docs/dashboard/2.5/USER_GUIDE/index.html        |  10 ++++----
 zh/docs/dashboard/2.5/api/api/index.html           |  10 ++++----
 zh/docs/dashboard/2.5/back-end-tests/index.html    |  10 ++++----
 .../dashboard/2.5/deploy-with-docker/index.html    |  10 ++++----
 zh/docs/dashboard/2.5/deploy-with-rpm/index.html   |  10 ++++----
 zh/docs/dashboard/2.5/deploy/index.html            |  10 ++++----
 zh/docs/dashboard/2.5/develop/index.html           |  10 ++++----
 zh/docs/dashboard/2.5/front-end-e2e/index.html     |  10 ++++----
 zh/docs/dashboard/2.5/tags/index.html              |  10 ++++----
 zh/docs/dashboard/2.6.1/FAQ/index.html             |  10 ++++----
 zh/docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html |  10 ++++----
 zh/docs/dashboard/2.6.1/IGNORE_DOC/index.html      |  10 ++++----
 .../2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  10 ++++----
 zh/docs/dashboard/2.6.1/USER_GUIDE/index.html      |  10 ++++----
 zh/docs/dashboard/2.6.1/api/api/index.html         |  10 ++++----
 zh/docs/dashboard/2.6.1/back-end-tests/index.html  |  10 ++++----
 .../dashboard/2.6.1/deploy-with-docker/index.html  |  10 ++++----
 zh/docs/dashboard/2.6.1/deploy-with-rpm/index.html |  10 ++++----
 zh/docs/dashboard/2.6.1/deploy/index.html          |  10 ++++----
 zh/docs/dashboard/2.6.1/develop/index.html         |  10 ++++----
 zh/docs/dashboard/2.6.1/front-end-e2e/index.html   |  10 ++++----
 zh/docs/dashboard/2.6.1/tags/index.html            |  10 ++++----
 zh/docs/dashboard/2.6/FAQ/index.html               |  10 ++++----
 zh/docs/dashboard/2.6/I18N_USER_GUIDE/index.html   |  10 ++++----
 zh/docs/dashboard/2.6/IGNORE_DOC/index.html        |  10 ++++----
 .../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 ++++----
 zh/docs/dashboard/2.6/USER_GUIDE/index.html        |  10 ++++----
 zh/docs/dashboard/2.6/api/api/index.html           |  10 ++++----
 zh/docs/dashboard/2.6/back-end-tests/index.html    |  10 ++++----
 .../dashboard/2.6/deploy-with-docker/index.html    |  10 ++++----
 zh/docs/dashboard/2.6/deploy-with-rpm/index.html   |  10 ++++----
 zh/docs/dashboard/2.6/deploy/index.html            |  10 ++++----
 zh/docs/dashboard/2.6/develop/index.html           |  10 ++++----
 zh/docs/dashboard/2.6/front-end-e2e/index.html     |  10 ++++----
 zh/docs/dashboard/2.6/tags/index.html              |  10 ++++----
 zh/docs/dashboard/2.7.1/FAQ/index.html             |  10 ++++----
 zh/docs/dashboard/2.7.1/I18N_USER_GUIDE/index.html |  10 ++++----
 zh/docs/dashboard/2.7.1/IGNORE_DOC/index.html      |  10 ++++----
 .../2.7.1/IMPORT_OPENAPI_USER_GUIDE/index.html     |  10 ++++----
 zh/docs/dashboard/2.7.1/USER_GUIDE/index.html      |  10 ++++----
 zh/docs/dashboard/2.7.1/api/api/index.html         |  10 ++++----
 zh/docs/dashboard/2.7.1/back-end-tests/index.html  |  10 ++++----
 .../dashboard/2.7.1/deploy-with-docker/index.html  |  10 ++++----
 zh/docs/dashboard/2.7.1/deploy-with-rpm/index.html |  10 ++++----
 zh/docs/dashboard/2.7.1/deploy/index.html          |  10 ++++----
 zh/docs/dashboard/2.7.1/develop/index.html         |  10 ++++----
 zh/docs/dashboard/2.7.1/front-end-e2e/index.html   |  10 ++++----
 zh/docs/dashboard/2.7.1/tags/index.html            |  10 ++++----
 zh/docs/dashboard/2.7/FAQ/index.html               |  10 ++++----
 zh/docs/dashboard/2.7/I18N_USER_GUIDE/index.html   |  10 ++++----
 zh/docs/dashboard/2.7/IGNORE_DOC/index.html        |  10 ++++----
 .../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 ++++----
 zh/docs/dashboard/2.7/USER_GUIDE/index.html        |  10 ++++----
 zh/docs/dashboard/2.7/api/api/index.html           |  10 ++++----
 zh/docs/dashboard/2.7/back-end-tests/index.html    |  10 ++++----
 .../dashboard/2.7/deploy-with-docker/index.html    |  10 ++++----
 zh/docs/dashboard/2.7/deploy-with-rpm/index.html   |  10 ++++----
 zh/docs/dashboard/2.7/deploy/index.html            |  10 ++++----
 zh/docs/dashboard/2.7/develop/index.html           |  10 ++++----
 zh/docs/dashboard/2.7/front-end-e2e/index.html     |  10 ++++----
 zh/docs/dashboard/2.7/tags/index.html              |  10 ++++----
 zh/docs/dashboard/2.8/FAQ/index.html               |  10 ++++----
 zh/docs/dashboard/2.8/I18N_USER_GUIDE/index.html   |  10 ++++----
 zh/docs/dashboard/2.8/IGNORE_DOC/index.html        |  10 ++++----
 .../2.8/IMPORT_OPENAPI_USER_GUIDE/index.html       |  10 ++++----
 zh/docs/dashboard/2.8/USER_GUIDE/index.html        |  10 ++++----
 zh/docs/dashboard/2.8/api/api/index.html           |  10 ++++----
 zh/docs/dashboard/2.8/back-end-tests/index.html    |  10 ++++----
 .../dashboard/2.8/deploy-with-docker/index.html    |  10 ++++----
 zh/docs/dashboard/2.8/deploy-with-rpm/index.html   |  10 ++++----
 zh/docs/dashboard/2.8/deploy/index.html            |  10 ++++----
 zh/docs/dashboard/2.8/develop/index.html           |  10 ++++----
 zh/docs/dashboard/2.8/front-end-e2e/index.html     |  10 ++++----
 zh/docs/dashboard/2.8/tags/index.html              |  10 ++++----
 zh/docs/dashboard/FAQ/index.html                   |  10 ++++----
 zh/docs/dashboard/I18N_USER_GUIDE/index.html       |  10 ++++----
 zh/docs/dashboard/IGNORE_DOC/index.html            |  10 ++++----
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html |  10 ++++----
 zh/docs/dashboard/USER_GUIDE/index.html            |  10 ++++----
 zh/docs/dashboard/api/api/index.html               |  10 ++++----
 zh/docs/dashboard/back-end-tests/index.html        |  10 ++++----
 zh/docs/dashboard/deploy-with-docker/index.html    |  10 ++++----
 zh/docs/dashboard/deploy-with-rpm/index.html       |  10 ++++----
 zh/docs/dashboard/deploy/index.html                |  10 ++++----
 zh/docs/dashboard/develop/index.html               |  10 ++++----
 zh/docs/dashboard/front-end-e2e/index.html         |  10 ++++----
 zh/docs/dashboard/next/FAQ/index.html              |  10 ++++----
 zh/docs/dashboard/next/I18N_USER_GUIDE/index.html  |  10 ++++----
 zh/docs/dashboard/next/IGNORE_DOC/index.html       |  12 ++++-----
 .../next/IMPORT_OPENAPI_USER_GUIDE/index.html      |  10 ++++----
 zh/docs/dashboard/next/USER_GUIDE/index.html       |  10 ++++----
 zh/docs/dashboard/next/api/api/index.html          |  10 ++++----
 zh/docs/dashboard/next/back-end-tests/index.html   |  10 ++++----
 .../dashboard/next/deploy-with-docker/index.html   |  10 ++++----
 zh/docs/dashboard/next/deploy-with-rpm/index.html  |  10 ++++----
 zh/docs/dashboard/next/deploy/index.html           |  10 ++++----
 zh/docs/dashboard/next/develop/index.html          |  10 ++++----
 zh/docs/dashboard/next/front-end-e2e/index.html    |  10 ++++----
 zh/docs/dashboard/next/tags/index.html             |  10 ++++----
 zh/docs/dashboard/tags/index.html                  |  10 ++++----
 zh/docs/docker/IGNORE_DOC/index.html               |  10 ++++----
 zh/docs/docker/apisix-2.10.0/IGNORE_DOC/index.html |  10 ++++----
 zh/docs/docker/apisix-2.10.0/build/index.html      |  10 ++++----
 zh/docs/docker/apisix-2.10.0/example/index.html    |  10 ++++----
 zh/docs/docker/apisix-2.10.0/manual/index.html     |  10 ++++----
 zh/docs/docker/apisix-2.10.0/tags/index.html       |  10 ++++----
 zh/docs/docker/apisix-2.9.0/IGNORE_DOC/index.html  |  10 ++++----
 zh/docs/docker/apisix-2.9.0/build/index.html       |  10 ++++----
 zh/docs/docker/apisix-2.9.0/example/index.html     |  10 ++++----
 zh/docs/docker/apisix-2.9.0/manual/index.html      |  10 ++++----
 zh/docs/docker/apisix-2.9.0/tags/index.html        |  10 ++++----
 zh/docs/docker/build/index.html                    |  10 ++++----
 zh/docs/docker/example/index.html                  |  10 ++++----
 zh/docs/docker/manual/index.html                   |  10 ++++----
 zh/docs/docker/next/IGNORE_DOC/index.html          |  12 ++++-----
 zh/docs/docker/next/build/index.html               |  10 ++++----
 zh/docs/docker/next/example/index.html             |  10 ++++----
 zh/docs/docker/next/manual/index.html              |  10 ++++----
 zh/docs/docker/next/tags/index.html                |  10 ++++----
 zh/docs/docker/tags/index.html                     |  10 ++++----
 zh/docs/general/2fa/index.html                     |  12 ++++-----
 zh/docs/general/committer-guide/index.html         |  12 ++++-----
 zh/docs/general/contributor-guide/index.html       |  12 ++++-----
 .../general/integrate-with-project-docs/index.html |  12 ++++-----
 zh/docs/general/release-guide/index.html           |  12 ++++-----
 zh/docs/general/security/index.html                |  12 ++++-----
 zh/docs/general/subscribe-guide/index.html         |  12 ++++-----
 zh/docs/general/tags/index.html                    |  10 ++++----
 .../go-plugin-runner/0.1.0/IGNORE_DOC/index.html   |  10 ++++----
 .../0.1.0/developer-guide/index.html               |  10 ++++----
 .../0.1.0/getting-started/index.html               |  10 ++++----
 zh/docs/go-plugin-runner/0.1.0/tags/index.html     |  10 ++++----
 zh/docs/go-plugin-runner/IGNORE_DOC/index.html     |  10 ++++----
 .../go-plugin-runner/developer-guide/index.html    |  10 ++++----
 .../go-plugin-runner/getting-started/index.html    |  10 ++++----
 .../go-plugin-runner/next/IGNORE_DOC/index.html    |  12 ++++-----
 .../next/developer-guide/index.html                |  10 ++++----
 .../next/getting-started/index.html                |  10 ++++----
 zh/docs/go-plugin-runner/next/tags/index.html      |  10 ++++----
 zh/docs/go-plugin-runner/tags/index.html           |  10 ++++----
 zh/docs/helm-chart/FAQ/index.html                  |  10 ++++----
 zh/docs/helm-chart/IGNORE_DOC/index.html           |  12 ++++-----
 zh/docs/helm-chart/apisix-dashboard/index.html     |  10 ++++----
 .../apisix-ingress-controller/index.html           |  10 ++++----
 zh/docs/helm-chart/apisix/index.html               |  10 ++++----
 zh/docs/helm-chart/tags/index.html                 |  10 ++++----
 zh/docs/index.html                                 |  10 ++++----
 zh/docs/ingress-controller/FAQ/index.html          |  10 ++++----
 zh/docs/ingress-controller/IGNORE_DOC/index.html   |  12 ++++-----
 .../concepts/annotations/index.html                |  10 ++++----
 .../concepts/apisix_cluster_config/index.html      |  10 ++++----
 .../concepts/apisix_route/index.html               |  10 ++++----
 .../concepts/apisix_tls/index.html                 |  10 ++++----
 .../concepts/apisix_upstream/index.html            |  10 ++++----
 zh/docs/ingress-controller/contribute/index.html   |  10 ++++----
 .../ingress-controller/deployments/ack/index.html  |  10 ++++----
 .../ingress-controller/deployments/aws/index.html  |  10 ++++----
 .../deployments/azure/index.html                   |  10 ++++----
 .../ingress-controller/deployments/gke/index.html  |  10 ++++----
 .../deployments/k3s-rke/index.html                 |  10 ++++----
 .../deployments/kubesphere/index.html              |  10 ++++----
 .../deployments/minikube/index.html                |  10 ++++----
 .../ingress-controller/deployments/tke/index.html  |  10 ++++----
 zh/docs/ingress-controller/design/index.html       |  10 ++++----
 zh/docs/ingress-controller/development/index.html  |  10 ++++----
 .../ingress-controller/getting-started/index.html  |  10 ++++----
 .../practices/check-crd-status/index.html          |  10 ++++----
 .../ingress-controller/practices/index/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../ingress-controller/practices/mtls/index.html   |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../practices/proxy-the-httpbin-service/index.html |  10 ++++----
 .../practices/the-hard-way/index.html              |  10 ++++----
 .../references/apisix_cluster_config/index.html    |  10 ++++----
 .../references/apisix_route_v1/index.html          |  10 ++++----
 .../references/apisix_route_v2alpha1/index.html    |  10 ++++----
 .../references/apisix_route_v2beta1/index.html     |  10 ++++----
 .../references/apisix_tls/index.html               |  10 ++++----
 .../references/apisix_upstream/index.html          |  10 ++++----
 zh/docs/ingress-controller/tags/index.html         |  10 ++++----
 zh/docs/java-plugin-runner/IGNORE_DOC/index.html   |  10 ++++----
 zh/docs/java-plugin-runner/development/index.html  |  10 ++++----
 zh/docs/java-plugin-runner/how-it-works/index.html |  10 ++++----
 .../java-plugin-runner/next/IGNORE_DOC/index.html  |  12 ++++-----
 .../java-plugin-runner/next/development/index.html |  10 ++++----
 .../next/how-it-works/index.html                   |  10 ++++----
 zh/docs/java-plugin-runner/next/tags/index.html    |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/docs/java-plugin-runner/tags/index.html         |  10 ++++----
 .../index.html                                     |  10 ++++----
 zh/docs/python-plugin-runner/IGNORE_DOC/index.html |  10 ++++----
 .../developer-guide/index.html                     |  10 ++++----
 .../getting-started/index.html                     |  10 ++++----
 .../next/IGNORE_DOC/index.html                     |  12 ++++-----
 .../next/developer-guide/index.html                |  10 ++++----
 .../next/getting-started/index.html                |  10 ++++----
 zh/docs/python-plugin-runner/next/tags/index.html  |  10 ++++----
 zh/docs/python-plugin-runner/tags/index.html       |  10 ++++----
 zh/downloads/index.html                            |  10 ++++----
 zh/events/archive/index.html                       |  10 ++++----
 zh/help/index.html                                 |  10 ++++----
 zh/index.html                                      |  12 ++++-----
 zh/plugins/index.html                              |  10 ++++----
 .../11/15/release-apache-apisix-0.9/index.html     |  10 ++++----
 .../2019/9/29/release-apache-apisix-0.8/index.html |  10 ++++----
 .../2019/9/6/release-apache-apisix-0.7/index.html  |  10 ++++----
 .../2020/1/15/release-apache-apisix-1.0/index.html |  10 ++++----
 .../10/28/release-apache-apisix-2.0/index.html     |  10 ++++----
 .../2020/12/1/release-apache-apisix-2.1/index.html |  10 ++++----
 .../release-apache-apisix-dashboard-2.2/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2020/2/24/release-apache-apisix-1.1/index.html |  10 ++++----
 .../release-apache-apisix-dashboard-1.0/index.html |  10 ++++----
 .../2020/4/20/release-apache-apisix-1.2/index.html |  10 ++++----
 .../2020/5/26/release-apache-apisix-1.3/index.html |  10 ++++----
 .../2020/6/30/release-apache-apisix-1.4/index.html |  10 ++++----
 .../7/20/release-apache-apisix-1.4.1/index.html    |  10 ++++----
 .../release-apache-apisix-dashboard-1.5/index.html |  10 ++++----
 .../2020/8/6/release-apache-apisix-1.5/index.html  |  10 ++++----
 .../release-apache-apisix-dashboard-2.3/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/1/8/release-apache-apisix-2.2/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../release-apache-apisix-dashboard-2.4/index.html |  10 ++++----
 .../2021/2/9/release-apache-apisix-2.3/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../release-apache-apisix-dashboard-2.5/index.html |  10 ++++----
 .../2021/3/5/release-apache-apisix-2.4/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../release-apache-apisix-dashboard-2.6/index.html |  10 ++++----
 .../2021/4/5/release-apache-apisix-2.5/index.html  |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/5/24/release-apache-apisix-2.6/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../release-apache-apisix-dashboard-2.7/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/6/25/release-apache-apisix-2.7/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/7/27/release-apache-apisix-2.8/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../2021/8/27/release-apache-apisix-2.9/index.html |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../index.html                                     |  10 ++++----
 .../release-apache-apisix-dashboard-2.8/index.html |  10 ++++----
 zh/releases/archive/index.html                     |  10 ++++----
 zh/releases/index.html                             |  10 ++++----
 zh/releases/page/2/index.html                      |  10 ++++----
 zh/releases/page/3/index.html                      |  10 ++++----
 zh/releases/page/4/index.html                      |  10 ++++----
 zh/releases/page/5/index.html                      |  10 ++++----
 zh/releases/tags/apisix-dashboard/index.html       |  10 ++++----
 .../tags/apisix-go-plugin-runner/index.html        |  10 ++++----
 .../tags/apisix-ingress-controller/index.html      |  10 ++++----
 .../tags/apisix-java-plugin-runner/index.html      |  10 ++++----
 .../tags/apisix-python-plugin-runner/index.html    |  10 ++++----
 zh/releases/tags/apisix/index.html                 |  10 ++++----
 zh/releases/tags/index.html                        |  10 ++++----
 zh/search/index.html                               |  12 ++++-----
 zh/sections/architecture/index.html                |  28 +++++++++++++++++++++
 zh/sections/benefits/index.html                    |  28 +++++++++++++++++++++
 zh/sections/comparison/index.html                  |  28 +++++++++++++++++++++
 zh/sections/components/arrowAnim/index.html        |  10 ++++----
 zh/sections/components/eventPosterCard/index.html  |  10 ++++----
 zh/sections/components/heroCanvas/index.html       |  12 ++++-----
 zh/sections/components/ossCanvas/index.html        |  10 ++++----
 zh/sections/endcta/index.html                      |  28 +++++++++++++++++++++
 zh/sections/features/index.html                    |  28 +++++++++++++++++++++
 zh/sections/heroSection/index.html                 |  28 +++++++++++++++++++++
 zh/sections/newsSection/index.html                 |  28 +++++++++++++++++++++
 zh/sections/opensourcePromo/index.html             |  28 +++++++++++++++++++++
 zh/showcase/index.html                             |  10 ++++----
 zh/sitemap.xml                                     |   2 +-
 zh/team/index.html                                 |  10 ++++----
 2410 files changed, 11787 insertions(+), 11301 deletions(-)

diff --git a/404.html b/404.html
index d46b5e5..5167e26 100644
--- a/404.html
+++ b/404.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://ap [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://ap [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 52110d4..2dbdbb5 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">按照 Apache Way 运作开源商业化公司,这行得通吗? | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://api [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">按照 Apache Way 运作开源商业化公司,这行得通吗? | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 a7bf9f6..6364880 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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.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.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c9d23af..82c9ed6 100644
--- a/articles/Apache-APISIX-Incubator-Journey/index.html
+++ b/articles/Apache-APISIX-Incubator-Journey/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 的孵化器之旅 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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.apache [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 a38ddf2..a7bc190 100644
--- a/articles/Apache-APISIX-Kubernetes-Ingress/index.html
+++ b/articles/Apache-APISIX-Kubernetes-Ingress/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX 的 Kubernetes Ingress 的实现 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content=" [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX 的 Kubernetes Ingress 的实现 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta 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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 8121f21..7a33f3a 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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.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.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 662c708..c5ea5b0 100644
--- a/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
+++ b/articles/How-To-Extend-Apache-APISIX-into-a-Service-Mesh-Sidecar/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">如何将 Apache APISIX 扩展为一个服务网格的边车 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://api [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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://api [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 ebc9ba6..f14234b 100644
--- a/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
+++ b/articles/Relying-On-The-Community-To-Get-Apache-APISIX-Up-Speed/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">依托社区让 Apache APISIX 高速发展 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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.ap [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 eb88734..ec91930 100644
--- a/articles/Rendering-Community-Events-Using-ECharts/index.html
+++ b/articles/Rendering-Community-Events-Using-ECharts/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 ECharts 呈现社区活动的渲染图 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apach [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 ECharts 呈现社区活动的渲染图 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f563139..bb1b6a3 100644
--- a/articles/Speed-Limiting-With-Apache-APISIX/index.html
+++ b/articles/Speed-Limiting-With-Apache-APISIX/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Apache APISIX 实现限流限速 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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.apa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 d127768..c7fed5b 100644
--- a/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
+++ b/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">用 Chaos Mesh 测试 Apache APISIX 的恢复能力 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https: [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">用 Chaos Mesh 测试 Apache APISIX 的恢复能力 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 b4dfca5..c2c4010 100644
--- a/articles/The-Appeal-of-OpenSource/index.html
+++ b/articles/The-Appeal-of-OpenSource/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">开源的魅力 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">开源的魅力 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 99a165e..5216b30 100644
--- a/articles/The-Evolution-of-Apache-APISIX/index.html
+++ b/articles/The-Evolution-of-Apache-APISIX/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 的演变 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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.apache.or [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9fb99b9..3078c7b 100644
--- a/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
+++ b/articles/Using-Apache-APISIX-To-Do-Authentication-and-Authorization/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Apache APISIX 进行认证和授权 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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.ap [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/archive/index.html b/articles/archive/index.html
index 885945d..a91fbf3 100644
--- a/articles/archive/index.html
+++ b/articles/archive/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/atom.xml b/articles/atom.xml
index 84a98f8..be05865 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-04T05:05:45.830Z</updated>
+    <updated>2021-10-04T23:39:58.724Z</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-04T05:05:45.830Z</updated>
+        <updated>2021-10-04T23:39:58.724Z</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-04T05:05:45.830Z</updated>
+        <updated>2021-10-04T23:39:58.724Z</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 b9aba10..626a645 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.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.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c253240..db74b72 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/rss.xml b/articles/rss.xml
index 7ac6499..72f766a 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>Mon, 04 Oct 2021 05:05:45 GMT</lastBuildDate>
+        <lastBuildDate>Mon, 04 Oct 2021 23:39:58 GMT</lastBuildDate>
         <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
         <generator>https://github.com/jpmonette/feed</generator>
         <item>
             <title><![CDATA[Apache APISIX 从开源项目到商业化之路]]></title>
             <link>https://apisix.apache.org/articles/Apache-APISIX-From-OpenSource-Commercialization</link>
             <guid>Apache APISIX 从开源项目到商业化之路</guid>
-            <pubDate>Mon, 04 Oct 2021 05:05:45 GMT</pubDate>
+            <pubDate>Mon, 04 Oct 2021 23:39:58 GMT</pubDate>
             <description><![CDATA[Apache APISIX 从开源项目到商业化之路.]]></description>
         </item>
         <item>
             <title><![CDATA[Apache APISIX 在移动云对象存储 EOS 的应用与实践]]></title>
             <link>https://apisix.apache.org/articles/Apache-APISIX-in-China-Mobile-Cloud</link>
             <guid>Apache APISIX 在移动云对象存储 EOS 的应用与实践</guid>
-            <pubDate>Mon, 04 Oct 2021 05:05:45 GMT</pubDate>
+            <pubDate>Mon, 04 Oct 2021 23:39:58 GMT</pubDate>
             <description><![CDATA[该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与实践经验分享。首先介绍了中国移动公有云建设规划及对象存储产品发展演进历程,然后阐述了我们为什么选择 APISIX 作为负载均衡网关,并对 EOS 流量治理架构演进三个阶段进行进行了详细介绍。同时,我们还分享了基于 APISIX 我们解决了哪些实际生产问题,做了哪些方案及开发工作,最后对我们未来的演进做了一些规划说明。]]></description>
         </item>
         <item>
diff --git a/assets/css/styles.28b243d6.css b/assets/css/styles.28b243d6.css
new file mode 100644
index 0000000..f5e6db1
--- /dev/null
+++ b/assets/css/styles.28b243d6.css
@@ -0,0 +1 @@
+.container,.row .col{padding:0 var(--ifm-spacing-horizontal);width:100%}.row .col,img{max-width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.button,.clean-btn,a{cursor:pointer}.breadcrumbs__link,.button{transition-timing-function: [...]
\ No newline at end of file
diff --git a/assets/css/styles.8bf52f50.css b/assets/css/styles.8bf52f50.css
deleted file mode 100644
index e93a8c9..0000000
--- a/assets/css/styles.8bf52f50.css
+++ /dev/null
@@ -1 +0,0 @@
-.container,.row .col{padding:0 var(--ifm-spacing-horizontal);width:100%}.row .col,img{max-width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.button,.clean-btn,a{cursor:pointer}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.butt [...]
\ No newline at end of file
diff --git a/assets/fonts/MaisonNeue-Bold-4bbe26b1bc13e3d52f28ed99e0c08d57.otf b/assets/fonts/MaisonNeue-Bold-4bbe26b1bc13e3d52f28ed99e0c08d57.otf
new file mode 100644
index 0000000..7a068b6
Binary files /dev/null and b/assets/fonts/MaisonNeue-Bold-4bbe26b1bc13e3d52f28ed99e0c08d57.otf differ
diff --git a/assets/fonts/MaisonNeue-Demi-2d6699d45ef9ce6a35e48ee0bd2d247d.otf b/assets/fonts/MaisonNeue-Demi-2d6699d45ef9ce6a35e48ee0bd2d247d.otf
new file mode 100644
index 0000000..15dd6eb
Binary files /dev/null and b/assets/fonts/MaisonNeue-Demi-2d6699d45ef9ce6a35e48ee0bd2d247d.otf differ
diff --git a/assets/fonts/MaisonNeue-ExtraBold-04f4315b09a466ca57bd3fffb9b3c9f2.otf b/assets/fonts/MaisonNeue-ExtraBold-04f4315b09a466ca57bd3fffb9b3c9f2.otf
new file mode 100644
index 0000000..f5280b4
Binary files /dev/null and b/assets/fonts/MaisonNeue-ExtraBold-04f4315b09a466ca57bd3fffb9b3c9f2.otf differ
diff --git a/assets/fonts/MaisonNeue-Light-76a7518e37acd82ee00d89c08d199b53.otf b/assets/fonts/MaisonNeue-Light-76a7518e37acd82ee00d89c08d199b53.otf
new file mode 100644
index 0000000..4e56879
Binary files /dev/null and b/assets/fonts/MaisonNeue-Light-76a7518e37acd82ee00d89c08d199b53.otf differ
diff --git a/assets/fonts/MaisonNeue-Medium-307430e743b2f678b6f901779dedbcb2.otf b/assets/fonts/MaisonNeue-Medium-307430e743b2f678b6f901779dedbcb2.otf
new file mode 100644
index 0000000..cb98016
Binary files /dev/null and b/assets/fonts/MaisonNeue-Medium-307430e743b2f678b6f901779dedbcb2.otf differ
diff --git a/assets/images/apisix-dashboard-16fe28555ad3d92a408cde727e13e986.png b/assets/images/apisix-dashboard-16fe28555ad3d92a408cde727e13e986.png
new file mode 100644
index 0000000..8aa56dc
Binary files /dev/null and b/assets/images/apisix-dashboard-16fe28555ad3d92a408cde727e13e986.png differ
diff --git a/assets/images/code-sample-36aab6d449dd84b1f7bdc40f5a88ee67.png b/assets/images/code-sample-36aab6d449dd84b1f7bdc40f5a88ee67.png
new file mode 100644
index 0000000..3dbc03d
Binary files /dev/null and b/assets/images/code-sample-36aab6d449dd84b1f7bdc40f5a88ee67.png differ
diff --git a/assets/images/pluginised-4fdd31033ed294a3d95585df6a2066f8.png b/assets/images/pluginised-4fdd31033ed294a3d95585df6a2066f8.png
new file mode 100644
index 0000000..7520b9d
Binary files /dev/null and b/assets/images/pluginised-4fdd31033ed294a3d95585df6a2066f8.png differ
diff --git a/assets/images/rocket-34b5b620fdca482c490049f803c6e937.gif b/assets/images/rocket-34b5b620fdca482c490049f803c6e937.gif
new file mode 100644
index 0000000..5b34560
Binary files /dev/null and b/assets/images/rocket-34b5b620fdca482c490049f803c6e937.gif differ
diff --git a/assets/js/084f2827.b9b83d41.js b/assets/js/084f2827.b9b83d41.js
new file mode 100644
index 0000000..4b59edc
--- /dev/null
+++ b/assets/js/084f2827.b9b83d41.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[47707,9612],{50561:function(e,t,n){var r=n(67294);function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function i(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);retu [...]
\ No newline at end of file
diff --git a/assets/js/09b17eb5.07e0f284.js b/assets/js/09b17eb5.07e0f284.js
new file mode 100644
index 0000000..954c312
--- /dev/null
+++ b/assets/js/09b17eb5.07e0f284.js
@@ -0,0 +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
diff --git a/assets/js/09b17eb5.a2ea3157.js b/assets/js/09b17eb5.a2ea3157.js
deleted file mode 100644
index e0329ef..0000000
--- a/assets/js/09b17eb5.a2ea3157.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/0c6519bf.2727357f.js b/assets/js/0c6519bf.2727357f.js
new file mode 100644
index 0000000..6c0f1bd
--- /dev/null
+++ b/assets/js/0c6519bf.2727357f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[72619,16958,49768],{36742:function(e,n,t){t.d(n,{Z:function(){return f}});var o=t(63366),r=t(67294),a=t(73727),i=t(52263),s=t(13919),c=t(10412),u=(0,r.createContext)({collectLink:function(){}}),l=t(44996),v=t(18780);var f=function(e){var n,t,f=e.isNavLink,d=e.to,x=e.href,m=e.activeClassName,p=e.isActive,y=e["data-noBrokenLinkCheck"],h=e.autoAddBaseUrl,w=void 0===h||h,g=(0,o.Z)(e,["isNavLink","to","href","activeClassName","isAc [...]
\ No newline at end of file
diff --git a/assets/js/19945770.27d618f4.js b/assets/js/19945770.27d618f4.js
new file mode 100644
index 0000000..ee9be82
--- /dev/null
+++ b/assets/js/19945770.27d618f4.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/19945770.908dcfe4.js b/assets/js/19945770.908dcfe4.js
deleted file mode 100644
index 83cfabd..0000000
--- a/assets/js/19945770.908dcfe4.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/1be78505.27c647e2.js b/assets/js/1be78505.27c647e2.js
new file mode 100644
index 0000000..1c37ca9
--- /dev/null
+++ b/assets/js/1be78505.27c647e2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[29514,24608],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return p}});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.a [...]
\ No newline at end of file
diff --git a/assets/js/1be78505.c9b9244f.js b/assets/js/1be78505.c9b9244f.js
deleted file mode 100644
index 3ee795f..0000000
--- a/assets/js/1be78505.c9b9244f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[29514,24608],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return p}});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.a [...]
\ No newline at end of file
diff --git a/assets/js/2de4608a.c11425e4.js b/assets/js/2de4608a.c11425e4.js
new file mode 100644
index 0000000..c99c83d
--- /dev/null
+++ b/assets/js/2de4608a.c11425e4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5867],{59094:function(e,t,r){var a=r(67294);function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}function l(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}( [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.4de9765f.js b/assets/js/3393d167.4de9765f.js
new file mode 100644
index 0000000..98de8ff
--- /dev/null
+++ b/assets/js/3393d167.4de9765f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.4e39f0e3.js b/assets/js/3393d167.4e39f0e3.js
deleted file mode 100644
index 55fa0d2..0000000
--- a/assets/js/3393d167.4e39f0e3.js
+++ /dev/null
@@ -1 +0,0 @@
-"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.52622cf2.js b/assets/js/358566b4.52622cf2.js
deleted file mode 100644
index e564fd0..0000000
--- a/assets/js/358566b4.52622cf2.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/358566b4.c113c2b3.js b/assets/js/358566b4.c113c2b3.js
new file mode 100644
index 0000000..f8dbf14
--- /dev/null
+++ b/assets/js/358566b4.c113c2b3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3892d75f.2129e3fa.js b/assets/js/3892d75f.2129e3fa.js
new file mode 100644
index 0000000..5e639b1
--- /dev/null
+++ b/assets/js/3892d75f.2129e3fa.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[16958],{17740:function(n,e,o){o.r(e),o.d(e,{default:function(){return r}});var t=o(67294),i=o(2212),a=o(66358),s=o(69365),r=function(){var n,e,o,r,c,u,v=(0,t.useRef)(0),x=(0,t.useRef)(0),l=!1,f=!1;return(0,t.useEffect)((function(){o=window.innerWidth,r=window.innerHeight;var t,x,m,y,d,p,h={x:.5,y:.5},w={x:.5,y:.5};window.addEventListener("resize",g,!1),o>1100?(n=r,e=o/2):(n=r/2,e=o),v.current.width=e,v.current.height=n,v.curre [...]
\ No newline at end of file
diff --git a/assets/js/3892d75f.7c9ae0c6.js b/assets/js/3892d75f.7c9ae0c6.js
deleted file mode 100644
index e25d534..0000000
--- a/assets/js/3892d75f.7c9ae0c6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[16958],{17740:function(n,e,o){o.r(e),o.d(e,{default:function(){return r}});var t=o(67294),i=o(2212),a=o(66358),s=o(69365);var r=function(){var n,e,o,r,c,u,v=(0,t.useRef)(0),x=(0,t.useRef)(0),l=!1,f=!1;return(0,t.useEffect)((function(){o=window.innerWidth,r=window.innerHeight;var t,x,m,y,d,p,h={x:.5,y:.5},w={x:.5,y:.5};window.addEventListener("resize",g,!1),o>800?(n=r,e=o/2):(n=r/2,e=o),v.current.width=e,v.current.height=n,v.cu [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.23352beb.js b/assets/js/3dc9f306.23352beb.js
deleted file mode 100644
index 7d606a2..0000000
--- a/assets/js/3dc9f306.23352beb.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 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.dc3bafb8.js b/assets/js/3dc9f306.dc3bafb8.js
new file mode 100644
index 0000000..26963f9
--- /dev/null
+++ b/assets/js/3dc9f306.dc3bafb8.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 d}});var n=o(67294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/3eac96fe.3b4cbf5b.js b/assets/js/3eac96fe.3b4cbf5b.js
new file mode 100644
index 0000000..36ea03f
--- /dev/null
+++ b/assets/js/3eac96fe.3b4cbf5b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[70967,49768],{36742:function(e,t,n){n.d(t,{Z:function(){return f}});var a=n(63366),i=n(67294),r=n(73727),s=n(52263),o=n(13919),l=n(10412),c=(0,i.createContext)({collectLink:function(){}}),d=n(44996),u=n(18780);var f=function(e){var t,n,f=e.isNavLink,m=e.to,h=e.href,g=e.activeClassName,p=e.isActive,v=e["data-noBrokenLinkCheck"],w=e.autoAddBaseUrl,b=void 0===w||w,E=(0,a.Z)(e,["isNavLink","to","href","activeClassName","isActive", [...]
\ No newline at end of file
diff --git a/assets/js/40fb2fae.2475c7c8.js b/assets/js/40fb2fae.2475c7c8.js
deleted file mode 100644
index 51d28c8..0000000
--- a/assets/js/40fb2fae.2475c7c8.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/40fb2fae.a8656b2d.js b/assets/js/40fb2fae.a8656b2d.js
new file mode 100644
index 0000000..e1d2c48
--- /dev/null
+++ b/assets/js/40fb2fae.a8656b2d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/4c20006b.7233bc51.js b/assets/js/4c20006b.7233bc51.js
new file mode 100644
index 0000000..a6d7b0c
--- /dev/null
+++ b/assets/js/4c20006b.7233bc51.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/4c20006b.cc23fbcb.js b/assets/js/4c20006b.cc23fbcb.js
deleted file mode 100644
index 9a9611b..0000000
--- a/assets/js/4c20006b.cc23fbcb.js
+++ /dev/null
@@ -1 +0,0 @@
-"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.6c4e90ab.js b/assets/js/507e1a4c.6c4e90ab.js
deleted file mode 100644
index 0e46efb..0000000
--- a/assets/js/507e1a4c.6c4e90ab.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/507e1a4c.aed1cf27.js b/assets/js/507e1a4c.aed1cf27.js
new file mode 100644
index 0000000..0664d02
--- /dev/null
+++ b/assets/js/507e1a4c.aed1cf27.js
@@ -0,0 +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
diff --git a/assets/js/50facf8e.052ce378.js b/assets/js/50facf8e.052ce378.js
new file mode 100644
index 0000000..9ea6a37
--- /dev/null
+++ b/assets/js/50facf8e.052ce378.js
@@ -0,0 +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
diff --git a/assets/js/50facf8e.4caa2640.js b/assets/js/50facf8e.4caa2640.js
deleted file mode 100644
index 38425c6..0000000
--- a/assets/js/50facf8e.4caa2640.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){r.d(t,{Zo:function(){return u},kt:function(){return d}});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/5364ab9a.1646a578.js b/assets/js/5364ab9a.1646a578.js
new file mode 100644
index 0000000..7537973
--- /dev/null
+++ b/assets/js/5364ab9a.1646a578.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[72573],{34216:function(e,t,l){l.r(t),l.d(t,{default:function(){return E}});var n=l(67294);function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n])}return e}).apply(this,arguments)}function a(e,t){if(null==e)return{};var l,n,r=function(e,t){if(null==e)return{};var l,n,r={},a=Object.keys(e);for(n=0;n<a.length;n++) [...]
\ No newline at end of file
diff --git a/assets/js/542fd41f.5825f225.js b/assets/js/542fd41f.5825f225.js
new file mode 100644
index 0000000..9d6225f
--- /dev/null
+++ b/assets/js/542fd41f.5825f225.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return O}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r, [...]
\ No newline at end of file
diff --git a/assets/js/542fd41f.700efb76.js b/assets/js/542fd41f.700efb76.js
deleted file mode 100644
index d19e561..0000000
--- a/assets/js/542fd41f.700efb76.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/58a3f426.df2e4633.js b/assets/js/58a3f426.df2e4633.js
new file mode 100644
index 0000000..a22b091
--- /dev/null
+++ b/assets/js/58a3f426.df2e4633.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[49214],{86738:function(m,l,z){z.r(l),z.d(l,{default:function(){return vl}});var e=z(67294),v=z(66358);function h(){return(h=Object.assign||function(m){for(var l=1;l<arguments.length;l++){var z=arguments[l];for(var e in z)Object.prototype.hasOwnProperty.call(z,e)&&(m[e]=z[e])}return m}).apply(this,arguments)}function t(m,l){if(null==m)return{};var z,e,v=function(m,l){if(null==m)return{};var z,e,v={},h=Object.keys(m);for(e=0;e<h [...]
\ No newline at end of file
diff --git a/assets/js/601c6eaa.729b6871.js b/assets/js/601c6eaa.729b6871.js
new file mode 100644
index 0000000..0d5f28d
--- /dev/null
+++ b/assets/js/601c6eaa.729b6871.js
@@ -0,0 +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
diff --git a/assets/js/601c6eaa.8e633875.js b/assets/js/601c6eaa.8e633875.js
deleted file mode 100644
index d1812ee..0000000
--- a/assets/js/601c6eaa.8e633875.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/62479209.aa38aeac.js b/assets/js/62479209.aa38aeac.js
new file mode 100644
index 0000000..a101b2a
--- /dev/null
+++ b/assets/js/62479209.aa38aeac.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[91745,49768],{36742:function(e,t,n){n.d(t,{Z:function(){return d}});var r=n(63366),a=n(67294),o=n(73727),i=n(52263),u=n(13919),c=n(10412),s=(0,a.createContext)({collectLink:function(){}}),l=n(44996),f=n(18780);var d=function(e){var t,n,d=e.isNavLink,v=e.to,b=e.href,h=e.activeClassName,m=e.isActive,p=e["data-noBrokenLinkCheck"],k=e.autoAddBaseUrl,g=void 0===k||k,w=(0,r.Z)(e,["isNavLink","to","href","activeClassName","isActive", [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.71267107.js b/assets/js/66fbb9c2.71267107.js
new file mode 100644
index 0000000..5c69f51
--- /dev/null
+++ b/assets/js/66fbb9c2.71267107.js
@@ -0,0 +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
diff --git a/assets/js/66fbb9c2.a81141da.js b/assets/js/66fbb9c2.a81141da.js
deleted file mode 100644
index 24fb6f3..0000000
--- a/assets/js/66fbb9c2.a81141da.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/6b3cc1ec.9d5b2a65.js b/assets/js/6b3cc1ec.9d5b2a65.js
deleted file mode 100644
index f93eda4..0000000
--- a/assets/js/6b3cc1ec.9d5b2a65.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9612],{76769:function(e,n,t){t.r(n);var i=t(67294),o=t(2212),r=t(69365);n.default=function(){var e,n,t=(0,i.useState)("undefined"!=typeof window&&window.innerWidth),a=t[0],s=t[1],d=(0,i.useState)("undefined"!=typeof window&&window.innerWidth),c=(d[0],d[1]),u=(0,i.useRef)(null);return(0,i.useEffect)((function(){var t,i,d,w,f,l;window.addEventListener("resize",m,!1);var h,p=!1,v=!1;function m(t){c(window.innerHeight),s(window.in [...]
\ No newline at end of file
diff --git a/assets/js/6b3cc1ec.d0269de6.js b/assets/js/6b3cc1ec.d0269de6.js
new file mode 100644
index 0000000..2602f00
--- /dev/null
+++ b/assets/js/6b3cc1ec.d0269de6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9612],{76769:function(e,n,i){i.r(n);var t=i(67294),o=i(2212),r=i(69365);n.default=function(){var e,n,i,a=(0,t.useRef)(null);return(0,t.useEffect)((function(){var t,s,c,d,u,w;e=window.innerWidth,window.innerHeight,window.addEventListener("resize",v,!1);var l,f=!1,h=!1;function v(t){window.innerHeight,(e=window.innerWidth)>1100?(n=500,i=e/2):(n=500,i=e),c.setSize(i,n)}e>1100?(n=500,i=e/2):(n=500,i=e);var p=new IntersectionObserv [...]
\ No newline at end of file
diff --git a/assets/js/7a19ed90.acca04f3.js b/assets/js/7a19ed90.acca04f3.js
new file mode 100644
index 0000000..a45917e
--- /dev/null
+++ b/assets/js/7a19ed90.acca04f3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[18251],{36742:function(l,m,z){z.d(m,{Z:function(){return i}});var c=z(63366),v=z(67294),e=z(73727),h=z(52263),a=z(13919),t=z(10412),r=(0,v.createContext)({collectLink:function(){}}),s=z(44996),n=z(18780);var i=function(l){var m,z,i=l.isNavLink,o=l.to,d=l.href,L=l.activeClassName,p=l.isActive,f=l["data-noBrokenLinkCheck"],u=l.autoAddBaseUrl,_=void 0===u||u,E=(0,c.Z)(l,["isNavLink","to","href","activeClassName","isActive","data- [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.61a9214b.js b/assets/js/7af3052c.61a9214b.js
deleted file mode 100644
index 507751e..0000000
--- a/assets/js/7af3052c.61a9214b.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.9983dd86.js b/assets/js/7af3052c.9983dd86.js
new file mode 100644
index 0000000..89770e5
--- /dev/null
+++ b/assets/js/7af3052c.9983dd86.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.38966ab9.js b/assets/js/80791de8.38966ab9.js
deleted file mode 100644
index 17fd587..0000000
--- a/assets/js/80791de8.38966ab9.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/80791de8.bad5c9e6.js b/assets/js/80791de8.bad5c9e6.js
new file mode 100644
index 0000000..396c744
--- /dev/null
+++ b/assets/js/80791de8.bad5c9e6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[50466],{3905:function(e,t,n){n.d(t,{Zo:function(){return l},kt:function(){return m}});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
deleted file mode 100644
index 4be1183..0000000
--- a/assets/js/8e784bf3.4f29c152.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/8e784bf3.bbe0529d.js b/assets/js/8e784bf3.bbe0529d.js
new file mode 100644
index 0000000..8dfb4b7
--- /dev/null
+++ b/assets/js/8e784bf3.bbe0529d.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/8f700fa6.16152054.js b/assets/js/8f700fa6.16152054.js
new file mode 100644
index 0000000..f45c65c
--- /dev/null
+++ b/assets/js/8f700fa6.16152054.js
@@ -0,0 +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
diff --git a/assets/js/8f700fa6.428ad966.js b/assets/js/8f700fa6.428ad966.js
deleted file mode 100644
index 453c8f6..0000000
--- a/assets/js/8f700fa6.428ad966.js
+++ /dev/null
@@ -1 +0,0 @@
-"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.70f5ae2d.js b/assets/js/90fc8a94.70f5ae2d.js
deleted file mode 100644
index 27a0981..0000000
--- a/assets/js/90fc8a94.70f5ae2d.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/90fc8a94.f3fa5490.js b/assets/js/90fc8a94.f3fa5490.js
new file mode 100644
index 0000000..4639804
--- /dev/null
+++ b/assets/js/90fc8a94.f3fa5490.js
@@ -0,0 +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
diff --git a/assets/js/941960b1.15214cc4.js b/assets/js/941960b1.15214cc4.js
deleted file mode 100644
index 8dc56b8..0000000
--- a/assets/js/941960b1.15214cc4.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/941960b1.bf7132dd.js b/assets/js/941960b1.bf7132dd.js
new file mode 100644
index 0000000..12e761c
--- /dev/null
+++ b/assets/js/941960b1.bf7132dd.js
@@ -0,0 +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
diff --git a/assets/js/97082.654a376c.js b/assets/js/97082.654a376c.js
new file mode 100644
index 0000000..407b53b
--- /dev/null
+++ b/assets/js/97082.654a376c.js
@@ -0,0 +1,2 @@
+/*! For license information please see 97082.654a376c.js.LICENSE.txt */
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97082],{97082:function(e,t,r){r.d(t,{i:function(){return ct}});var n,i,o,s,a,l,c,f,u,d,p,h,g,v,m,x,b,y,w,T,k,C,O,E,M,S,P,R,L=1,B=[],_=[],A=Date.now,z=A(),I=0,N=1,F=function(e){return e},W=function(e){return Math.round(1e5*e)/1e5||0},D=function(){return"undefined"!=typeof window},H=function(){return n||D()&&(n=window.gsap)&&n.registerPlugin&&n},q=function(e){return!!~c.indexOf(e)},X=function(e,t){return~B.indexOf(e)&&B[B.indexO [...]
\ No newline at end of file
diff --git a/assets/js/97082.654a376c.js.LICENSE.txt b/assets/js/97082.654a376c.js.LICENSE.txt
new file mode 100644
index 0000000..54bd384
--- /dev/null
+++ b/assets/js/97082.654a376c.js.LICENSE.txt
@@ -0,0 +1,9 @@
+/*!
+ * ScrollTrigger 3.7.1
+ * https://greensock.com
+ *
+ * @license Copyright 2008-2021, GreenSock. All rights reserved.
+ * Subject to the terms at https://greensock.com/standard-license or for
+ * Club GreenSock members, the agreement issued with that membership.
+ * @author: Jack Doyle, jack@greensock.com
+*/
diff --git a/assets/js/adbb350b.3499b7c6.js b/assets/js/adbb350b.3499b7c6.js
new file mode 100644
index 0000000..5d44360
--- /dev/null
+++ b/assets/js/adbb350b.3499b7c6.js
@@ -0,0 +1 @@
+"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/adbb350b.6664693d.js b/assets/js/adbb350b.6664693d.js
deleted file mode 100644
index 93d0caf..0000000
--- a/assets/js/adbb350b.6664693d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return 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/c4f5d8e4.6fc9671f.js b/assets/js/c4f5d8e4.6fc9671f.js
new file mode 100644
index 0000000..9c11aa8
--- /dev/null
+++ b/assets/js/c4f5d8e4.6fc9671f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[64195,5867,16958,72573,49214,9612,5684],{59094:function(l,m,z){var c=z(67294);function e(){return(e=Object.assign||function(l){for(var m=1;m<arguments.length;m++){var z=arguments[m];for(var c in z)Object.prototype.hasOwnProperty.call(z,c)&&(l[c]=z[c])}return l}).apply(this,arguments)}function v(l,m){if(null==l)return{};var z,c,e=function(l,m){if(null==l)return{};var z,c,e={},v=Object.keys(l);for(c=0;c<v.length;c++)z=v[c],m.ind [...]
\ No newline at end of file
diff --git a/assets/js/c4f5d8e4.7c3454c2.js b/assets/js/c4f5d8e4.7c3454c2.js
deleted file mode 100644
index 4166a8d..0000000
--- a/assets/js/c4f5d8e4.7c3454c2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[64195],{59094:function(e,t,n){var a=n(67294);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(this,arguments)}function r(e,t){if(null==e)return{};var n,a,s=function(e,t){if(null==e)return{};var n,a,s={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(s[n]=e[n]);return s} [...]
\ No newline at end of file
diff --git a/assets/js/d18db9b0.4ec7eff7.js b/assets/js/d18db9b0.4ec7eff7.js
deleted file mode 100644
index b546c2e..0000000
--- a/assets/js/d18db9b0.4ec7eff7.js
+++ /dev/null
@@ -1 +0,0 @@
-"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/d18db9b0.72a517e2.js b/assets/js/d18db9b0.72a517e2.js
new file mode 100644
index 0000000..0a144b9
--- /dev/null
+++ b/assets/js/d18db9b0.72a517e2.js
@@ -0,0 +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
diff --git a/assets/js/main.af91850a.js b/assets/js/main.af91850a.js
new file mode 100644
index 0000000..afab8d8
--- /dev/null
+++ b/assets/js/main.af91850a.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.af91850a.js.LICENSE.txt */
+(self.webpackChunk=self.webpackChunk||[]).push([[40179],{99782:function(e,n,i){"use strict";i.r(n),n.default={title:"Apache APISIX\xae --  Cloud-Native API Gateway",tagline:"Apache APISIX is a dynamic, real-time, high-performance Cloud-Native API gateway, based on the Nginx library and etcd.",url:"https://apisix.apache.org/",baseUrl:"/",organizationName:"Apache",projectName:"apisix-website",favicon:"img/favicon.png",customFields:{tagline2:"Apache APISIX software provides rich traffic man [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.2eafad46.js.LICENSE.txt b/assets/js/main.af91850a.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.2eafad46.js.LICENSE.txt
rename to assets/js/main.af91850a.js.LICENSE.txt
diff --git a/assets/js/main.b2d4dc71.js b/assets/js/main.b2d4dc71.js
deleted file mode 100644
index f35cf85..0000000
--- a/assets/js/main.b2d4dc71.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.b2d4dc71.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[40179],{99782:function(e,n,i){"use strict";i.r(n),n.default={title:"Apache APISIX\xae --  Cloud-Native API Gateway",tagline:"Apache APISIX is a dynamic, real-time, high-performance Cloud-Native API gateway, based on the Nginx library and etcd.",url:"https://apisix.apache.org/",baseUrl:"/",organizationName:"Apache",projectName:"apisix-website",favicon:"img/favicon.png",customFields:{tagline2:"Apache APISIX software provides rich traffic man [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.a97072e1.js b/assets/js/runtime~main.a97072e1.js
deleted file mode 100644
index 5855de5..0000000
--- a/assets/js/runtime~main.a97072e1.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(){"use strict";var e,f,c,b,d={},a={};function t(e){var f=a[e];if(void 0!==f)return f.exports;var c=a[e]={id:e,loaded:!1,exports:{}};return d[e].call(c.exports,c,c.exports,t),c.loaded=!0,c.exports}t.m=d,t.c=a,e=[],t.O=function(f,c,b,d){if(!c){var a=1/0;for(u=0;u<e.length;u++){c=e[u][0],b=e[u][1],d=e[u][2];for(var n=!0,r=0;r<c.length;r++)(!1&d||a>=d)&&Object.keys(t.O).every((function(e){return t.O[e](c[r])}))?c.splice(r--,1):(n=!1,d<a&&(a=d));if(n){e.splice(u--,1);var o=b();void  [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.c3ccebff.js b/assets/js/runtime~main.c3ccebff.js
new file mode 100644
index 0000000..a354cbf
--- /dev/null
+++ b/assets/js/runtime~main.c3ccebff.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,f,b,c,d={},a={};function t(e){var f=a[e];if(void 0!==f)return f.exports;var b=a[e]={id:e,loaded:!1,exports:{}};return d[e].call(b.exports,b,b.exports,t),b.loaded=!0,b.exports}t.m=d,t.c=a,e=[],t.O=function(f,b,c,d){if(!b){var a=1/0;for(u=0;u<e.length;u++){b=e[u][0],c=e[u][1],d=e[u][2];for(var n=!0,r=0;r<b.length;r++)(!1&d||a>=d)&&Object.keys(t.O).every((function(e){return t.O[e](b[r])}))?b.splice(r--,1):(n=!1,d<a&&(a=d));if(n){e.splice(u--,1);var o=c();void  [...]
\ No newline at end of file
diff --git a/assets/medias/apisix-59686252808d5d79bee48ec5eaee4809.mp4 b/assets/medias/apisix-59686252808d5d79bee48ec5eaee4809.mp4
new file mode 100644
index 0000000..8478ba9
Binary files /dev/null and b/assets/medias/apisix-59686252808d5d79bee48ec5eaee4809.mp4 differ
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 9226fa8..5caf183 100644
--- a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 22d39de..1c6e375 100644
--- a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Run Ingress APISIX on Amazon EKS | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 242a1ed..66071b6 100644
--- a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -15,14 +15,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">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stable Product Delivery with Cypress | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 8ff95ad..65a783d 100644
--- a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
+++ b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Apache APISIX from Helm Charts | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta 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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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">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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 fbbac00..711eb5c 100644
--- a/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
+++ b/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
@@ -15,14 +15,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">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Get Front-End Test Coverage with Cypress | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta 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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5f5e33b..b11afb4 100644
--- a/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
+++ b/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image"  [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 4b0723f..df39732 100644
--- a/blog/2021/06/29/release-apache-apisix-2.7-en/index.html
+++ b/blog/2021/06/29/release-apache-apisix-2.7-en/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.7.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.7.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 3684e18..78facf7 100644
--- a/blog/2021/07/06/celebrate-200-contributors/index.html
+++ b/blog/2021/07/06/celebrate-200-contributors/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitt [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 fd6e0f4..502889d 100644
--- a/blog/2021/07/28/release-apache-apisix-2.8-en/index.html
+++ b/blog/2021/07/28/release-apache-apisix-2.8-en/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.8.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 4e4eb22..f702cb3 100644
--- a/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
+++ b/blog/2021/08/12/Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve System Stability | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve System Stability | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e617dc8..e72d183 100644
--- a/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects-en/index.html
+++ b/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects-en/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributors — The Golden Metric of OpenSource Projects | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributors — The Golden Metric of OpenSource Projects | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 <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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5197d10..00190d5 100644
--- a/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
+++ b/blog/2021/08/16/Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Using the Apache APISIX OpenID Connect Plugin for Okta Centralized Authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter: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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 <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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 afc22e6..a926274 100644
--- a/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
+++ b/blog/2021/08/25/Auth-with-Casbin-in-Apache-APISIX/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Authorization with Casbin in Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta 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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@
 </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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e643f8b..a1117b3 100644
--- a/blog/2021/08/27/release-apache-apisix-2.9-en/index.html
+++ b/blog/2021/08/27/release-apache-apisix-2.9-en/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.9 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e2b0a4e..0e5a4e6 100644
--- a/blog/2021/09/29/release-apache-apisix-2.10-en/index.html
+++ b/blog/2021/09/29/release-apache-apisix-2.10-en/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.10.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 55e8d62..acbcf1d 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
@@ -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 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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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 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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c882adc..edf18c1 100644
--- a/blog/2021/09/30/weekly-report/index.html
+++ b/blog/2021/09/30/weekly-report/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">社区周报|新晋 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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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">社区周报|新晋 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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 afd9f06..bf9942c 100644
--- a/blog/2021/10/01/openEuler/index.html
+++ b/blog/2021/10/01/openEuler/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 社区成员助力 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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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 社区成员助力 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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 50c1920..d4bac78 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Archive | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Archive | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.or [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 6a7c0ad..e6c05c4 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 d10ff7d..9d903f1 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 cfb80f3..d506d43 100644
--- a/blog/tags/community/index.html
+++ b/blog/tags/community/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">One post tagged with &quot;Community&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="One post tagged with &quot;Community&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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">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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 73d0407..bcbd89d 100644
--- a/blog/tags/events/index.html
+++ b/blog/tags/events/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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">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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index aafb0a6..fdbc158 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7a5a0f1..5a6a02b 100644
--- a/blog/tags/practical-case/index.html
+++ b/blog/tags/practical-case/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">5 posts tagged with &quot;Practical Case&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="5 posts tagged with &quot;Practical Case&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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">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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6f33a87..5db05ee 100644
--- a/blog/tags/release/index.html
+++ b/blog/tags/release/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">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.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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">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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 874e691..177db69 100644
--- a/blog/tags/security/index.html
+++ b/blog/tags/security/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">One post tagged with &quot;Security&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="One post tagged with &quot;Security&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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">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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 df8a059..3a2569e 100644
--- a/blog/tags/technology/index.html
+++ b/blog/tags/technology/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">3 posts tagged with &quot;Technology&quot; | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="3 posts tagged with &quot;Technology&quot; | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.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">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.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7cee3fc..7c96bb9 100644
--- a/docs/apisix/2.10.0/FAQ/index.html
+++ b/docs/apisix/2.10.0/FAQ/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ See the <code>Hot reload</code> section in <a href="/docs/apisix/2.10.0/plugins.
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh  --issue  --staging  -d demo.domain --renew-hook </span><span class="token string" style="color:#e3116c">&quot;/root/.acme.sh/renew-hook-update-apisix.sh  -h http://apisix-admin:port -p /root/.acme.sh/demo.domain/demo.domain.cer -k /root/.acme.sh/demo.domain/demo.domain.key -a xxxxxxxxxxxxx&quot;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><spa [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh --renew --domain demo.domain</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Blog <a href="https://juejin.cn/post/6965778290619449351" target="_blank" rel="noopener noreferrer">https://juejin.cn/post/6965778290619449351</a> has detail setup.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-strip-route-prefix-for-path-matching"></a>How to strip route prefi [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 3893092..93bc221 100644
--- a/docs/apisix/2.10.0/IGNORE_DOC/index.html
+++ b/docs/apisix/2.10.0/IGNORE_DOC/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 540e06e..0e5a1d4 100644
--- a/docs/apisix/2.10.0/admin-api/index.html
+++ b/docs/apisix/2.10.0/admin-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -86,7 +86,7 @@ This feature requires APISIX to run on <a href="/docs/apisix/2.10.0/how-to-build
 used when all the nodes with higher priority are unavailable or tried.</p><p>As the default priority is 0, we can configure nodes with negative priority as the backup.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="tok [...]
 Therefore, it is the backup of <code>127.0.0.1</code>.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="response-parameters-3"></a>Response Parameters<a class="hash-link" href="#response-parameters-3" title="Direct link to heading">#</a></h3><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7- [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5dacf66..ebac22d 100644
--- a/docs/apisix/2.10.0/architecture-design/apisix/index.html
+++ b/docs/apisix/2.10.0/architecture-design/apisix/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e2d3c7c..1c117d5 100644
--- a/docs/apisix/2.10.0/architecture-design/consumer/index.html
+++ b/docs/apisix/2.10.0/architecture-design/consumer/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.10.0/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color: [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><spa [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBo [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 ee4fc1e..d03dbed 100644
--- a/docs/apisix/2.10.0/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.10.0/architecture-design/debug-mode/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can not be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 3ff5969..79e19ec 100644
--- a/docs/apisix/2.10.0/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.10.0/architecture-design/global-rule/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 0534a8f..1eb5b93 100644
--- a/docs/apisix/2.10.0/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.10.0/architecture-design/plugin-config/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color: [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="col [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 58bbfb1..b630374 100644
--- a/docs/apisix/2.10.0/architecture-design/plugin/index.html
+++ b/docs/apisix/2.10.0/architecture-design/plugin/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e238ecb..33c096b 100644
--- a/docs/apisix/2.10.0/architecture-design/route/index.html
+++ b/docs/apisix/2.10.0/architecture-design/route/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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">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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 38204ac..cd75aaf 100644
--- a/docs/apisix/2.10.0/architecture-design/router/index.html
+++ b/docs/apisix/2.10.0/architecture-design/router/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f86e25f..b0633c9 100644
--- a/docs/apisix/2.10.0/architecture-design/script/index.html
+++ b/docs/apisix/2.10.0/architecture-design/script/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 fec4641..c2fdb11 100644
--- a/docs/apisix/2.10.0/architecture-design/service/index.html
+++ b/docs/apisix/2.10.0/architecture-design/service/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 b7f1924..b49e80f 100644
--- a/docs/apisix/2.10.0/architecture-design/upstream/index.html
+++ b/docs/apisix/2.10.0/architecture-design/upstream/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 a66ea99..4a9be69 100644
--- a/docs/apisix/2.10.0/aws/index.html
+++ b/docs/apisix/2.10.0/aws/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apis [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c9822e3..f927269 100644
--- a/docs/apisix/2.10.0/batch-processor/index.html
+++ b/docs/apisix/2.10.0/batch-processor/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Note: P [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9291e3a..3a938b6 100644
--- a/docs/apisix/2.10.0/benchmark/index.html
+++ b/docs/apisix/2.10.0/benchmark/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 ancho [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5d671ab..fdbcd97 100644
--- a/docs/apisix/2.10.0/certificate/index.html
+++ b/docs/apisix/2.10.0/certificate/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/certificate.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5b35030..6e9b46f 100644
--- a/docs/apisix/2.10.0/control-api/index.html
+++ b/docs/apisix/2.10.0/control-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ of fields like <code>consumer_schema</code> or <code>type</code>, it is depended
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.10.0/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex=" [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
 Note that when you enable stream proxy, APISIX will run another Lua VM for the stream subsystem. It won&#x27;t trigger a full GC in this Lua VM .</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1routes"></a>Get /v1/routes<a class="hash-link" href="#get-v1routes" title="Direct link to heading">#</a></h3><p>Introduced since <code>v3.0</code>.</p><p>Return all routes info in the format below:</p><div class="codeBlockContainer_K [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 3b5d040..441754f 100644
--- a/docs/apisix/2.10.0/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.10.0/customize-nginx-configuration/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></span><span class="token-line" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 eed6400..cb75ef8 100644
--- a/docs/apisix/2.10.0/debug-function/index.html
+++ b/docs/apisix/2.10.0/debug-function/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 ba80605..4813030 100644
--- a/docs/apisix/2.10.0/discovery/consul_kv/index.html
+++ b/docs/apisix/2.10.0/discovery/consul_kv/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span c [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 a856b27..00d9ef5 100644
--- a/docs/apisix/2.10.0/discovery/dns/index.html
+++ b/docs/apisix/2.10.0/discovery/dns/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 0b594df..e9fdc0e 100644
--- a/docs/apisix/2.10.0/discovery/eureka/index.html
+++ b/docs/apisix/2.10.0/discovery/eureka/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 fc49fdb..b998276 100644
--- a/docs/apisix/2.10.0/discovery/index.html
+++ b/docs/apisix/2.10.0/discovery/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" s [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 2621d00..201e1cb 100644
--- a/docs/apisix/2.10.0/discovery/nacos/index.html
+++ b/docs/apisix/2.10.0/discovery/nacos/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 338cb86..66685fc 100644
--- a/docs/apisix/2.10.0/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.10.0/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -56,7 +56,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></span><span class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="shell"></a>Shell<a class= [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 ac16491..05386b5 100644
--- a/docs/apisix/2.10.0/external-plugin/index.html
+++ b/docs/apisix/2.10.0/external-plugin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ declare your variable first in the <code>conf/config.yaml</code>:</p><div class=
 OpenResty 1.19+.</p><p>However, APISIX needs to wait the runner to quit so that we can ensure the resource
 for the process group is freed.</p><p>Therefore, we send SIGTERM first. And then after 1 second, if the runner is still
 running, we will send SIGKILL.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/external-plugin.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 0114b3e..fce1233 100644
--- a/docs/apisix/2.10.0/getting-started/index.html
+++ b/docs/apisix/2.10.0/getting-started/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 48c0ea4..2d3f6be 100644
--- a/docs/apisix/2.10.0/grpc-proxy/index.html
+++ b/docs/apisix/2.10.0/grpc-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 bf74077..9ddc59a 100644
--- a/docs/apisix/2.10.0/health-check/index.html
+++ b/docs/apisix/2.10.0/health-check/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 8b063ea..a64a42c 100644
--- a/docs/apisix/2.10.0/how-to-build/index.html
+++ b/docs/apisix/2.10.0/how-to-build/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f314fad..03ca37f 100644
--- a/docs/apisix/2.10.0/install-dependencies/index.html
+++ b/docs/apisix/2.10.0/install-dependencies/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># install LuaRocks</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> https://raw.githubusercontent.com/apache/apisix/master/utils/linux-install-luarocks.sh -sL </spa [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></span></code></pre [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">brew services start etcd</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="th [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 867686e..7cc969a 100644
--- a/docs/apisix/2.10.0/internal/testing-framework/index.html
+++ b/docs/apisix/2.10.0/internal/testing-framework/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Introducing APISIX&#x27;s testing framework | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Introducing APISIX&#x27;s testing framework | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@ This allows us to write methods inside <code>t/lib/server.lua</code> to emulate
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">==</span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> TEST </span><span class="token number" style="color:#36acaa">2</span><span class="token plain">: vars rule with </span><span class="token operator" style="color:#393A34">!</span><span class="token plain"> </span><span class="token punctuation" style="c [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 1c6ed42..1825d51 100644
--- a/docs/apisix/2.10.0/mtls/index.html
+++ b/docs/apisix/2.10.0/mtls/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS Authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS Authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token builtin">len</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">sys</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">)</span><span cl [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">reqParam </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">&quot;tls&quot;</span><span class="token punctuation" style=" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">resp </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> requests</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">patch</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/upstreams/&quot;</span><span class="toke [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 1b630d9..ceb5777 100644
--- a/docs/apisix/2.10.0/plugin-develop/index.html
+++ b/docs/apisix/2.10.0/plugin-develop/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -59,7 +59,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.10.0/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.10.0/control-api">Control API</a [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    return {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></span><span class="token-line" style="color:#393A3 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6e9a03e..6d7f1b4 100644
--- a/docs/apisix/2.10.0/plugin-interceptors/index.html
+++ b/docs/apisix/2.10.0/plugin-interceptors/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/pl [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.10.0/plugins/ip-restriction">ip-restriction</a></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener" class="theme-edit-th [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 a5d0f80..09b5596 100644
--- a/docs/apisix/2.10.0/plugins/api-breaker/index.html
+++ b/docs/apisix/2.10.0/plugins/api-breaker/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9161811..84a66fa 100644
--- a/docs/apisix/2.10.0/plugins/authz-casbin/index.html
+++ b/docs/apisix/2.10.0/plugins/authz-casbin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-casbin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-casbin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[policy_effect]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">e = some(where (p.eft == allow))</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>And the example policy as:</p><div class="code [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c44c1ed..1eaa26d 100644
--- a/docs/apisix/2.10.0/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.10.0/plugins/authz-keycloak/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class=" [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-pag [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 933d5d3..bab440c 100644
--- a/docs/apisix/2.10.0/plugins/basic-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/basic-auth/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c44cf4e..34bbb17 100644
--- a/docs/apisix/2.10.0/plugins/batch-requests/index.html
+++ b/docs/apisix/2.10.0/plugins/batch-requests/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 b24d7e9..9b9387d 100644
--- a/docs/apisix/2.10.0/plugins/client-control/index.html
+++ b/docs/apisix/2.10.0/plugins/client-control/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ handle the client request.</p><p><strong>This plugin requires APISIX to run on <
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">413</span><span class="token plain"> Request Entity Too Large</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span>< [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c066de6..cd3bb7e 100644
--- a/docs/apisix/2.10.0/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/consumer-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c9bb90f..3d5bcfa 100644
--- a/docs/apisix/2.10.0/plugins/cors/index.html
+++ b/docs/apisix/2.10.0/plugins/cors/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 b98a659..6d6b703 100644
--- a/docs/apisix/2.10.0/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.10.0/plugins/dubbo-proxy/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ They should provide the same result.</p><p>The returned data from upstream dubbo
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="toke [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 dc8ee47..966e5df 100644
--- a/docs/apisix/2.10.0/plugins/echo/index.html
+++ b/docs/apisix/2.10.0/plugins/echo/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 54b37c9..1fd8b87 100644
--- a/docs/apisix/2.10.0/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/error-log-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 <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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f643bb7..a92e4a4 100644
--- a/docs/apisix/2.10.0/plugins/ext-plugin-post-req/index.html
+++ b/docs/apisix/2.10.0/plugins/ext-plugin-post-req/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 a601c9d..43686f4 100644
--- a/docs/apisix/2.10.0/plugins/ext-plugin-pre-req/index.html
+++ b/docs/apisix/2.10.0/plugins/ext-plugin-pre-req/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-pre-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-pre-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ executing most of the builtin Lua plugins.</p><p>To know what is the plugin runn
 is executed at that side.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable this plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 a9fd523..cc1a328 100644
--- a/docs/apisix/2.10.0/plugins/fault-injection/index.html
+++ b/docs/apisix/2.10.0/plugins/fault-injection/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockC [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockConte [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 428c9f9..f67ac77 100644
--- a/docs/apisix/2.10.0/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.10.0/plugins/grpc-transcode/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy code to clipbo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><spa [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 171289e..4fb4a7c 100644
--- a/docs/apisix/2.10.0/plugins/gzip/index.html
+++ b/docs/apisix/2.10.0/plugins/gzip/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gzip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gzip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: Binary output can mess up your terminal. Use </span><span class="token string" style="color:#e3116c">&quot;--output -&quot;</span><span class="token plain"> to tell</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> to output it to your terminal anyway, or [...]
 you can delete the corresponding JSON configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 304ea18..757beb2 100644
--- a/docs/apisix/2.10.0/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/hmac-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -35,7 +35,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 ef608d5..13c3c8d 100644
--- a/docs/apisix/2.10.0/plugins/http-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/http-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 3b45f2f..82fde63 100644
--- a/docs/apisix/2.10.0/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/ip-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e215b8f..f0524db 100644
--- a/docs/apisix/2.10.0/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/jwt-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ You may need to use <a href="/docs/apisix/2.10.0/plugin-interceptors">intercepto
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:#393A34">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 736c16a..415ab35 100644
--- a/docs/apisix/2.10.0/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/kafka-logger/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span cla [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 442ad817..a1d25cf 100644
--- a/docs/apisix/2.10.0/plugins/key-auth/index.html
+++ b/docs/apisix/2.10.0/plugins/key-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 88fa7db..336191e 100644
--- a/docs/apisix/2.10.0/plugins/limit-conn/index.html
+++ b/docs/apisix/2.10.0/plugins/limit-conn/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token opera [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 447a2d2..ddc02fb 100644
--- a/docs/apisix/2.10.0/plugins/limit-count/index.html
+++ b/docs/apisix/2.10.0/plugins/limit-count/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-count | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-count | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Requests are too frequent, please try again later.&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c343895..a53fe8e 100644
--- a/docs/apisix/2.10.0/plugins/limit-req/index.html
+++ b/docs/apisix/2.10.0/plugins/limit-req/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;error_msg&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Requests are too frequent, please try again later.&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5e160e0..733724f 100644
--- a/docs/apisix/2.10.0/plugins/log-rotate/index.html
+++ b/docs/apisix/2.10.0/plugins/log-rotate/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ When the number of log files exceeds the remaining number, the old files are aut
 For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></span><span class="token-line" style="color:# [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">plugin_attr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">log-rotate</span><span class="token punctuation" style="color:#393A34">:</span><span cla [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 0803cf2..3c8ed87 100644
--- a/docs/apisix/2.10.0/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.10.0/plugins/mqtt-proxy/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7a9059d..4df0279 100644
--- a/docs/apisix/2.10.0/plugins/node-status/index.html
+++ b/docs/apisix/2.10.0/plugins/node-status/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ then you can add this plugin in any route.</li></ol><div class="codeBlockContain
 then you can not add this plugin in any route.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</ [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly sh"><pre tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e9da561..25c1527 100644
--- a/docs/apisix/2.10.0/plugins/openid-connect/index.html
+++ b/docs/apisix/2.10.0/plugins/openid-connect/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -49,7 +49,7 @@ Once the user has authenticated against the identity provider, the plugin will o
 and further information from the identity provider on behalf of the user. The information is currently stored
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
 and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 d333946..4dc242b 100644
--- a/docs/apisix/2.10.0/plugins/prometheus/index.html
+++ b/docs/apisix/2.10.0/plugins/prometheus/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ you may need to use <a href="/docs/apisix/2.10.0/plugin-interceptors">intercepto
 Notice, <code>name</code> could be duplicated for multiple routes/services, so when set <code>prefer_name</code> to <code>true</code>, take care of naming format or it could be misleading.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#3 [...]
 these metric data.</p><p>For example like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">scrape_configs</span><span class="token punctuation" style="color:#393A34">:</span><span class="token  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c24d4a2..2e7abfe 100644
--- a/docs/apisix/2.10.0/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.10.0/plugins/proxy-cache/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>http status is &#x27;200&#x27; and the response header contains &#x27;Apisix-Cache-Status&#x27; to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</l [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache are [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 3c33414..e4348ee 100644
--- a/docs/apisix/2.10.0/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.10.0/plugins/proxy-mirror/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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">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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7f1e33e..d89af5b 100644
--- a/docs/apisix/2.10.0/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.10.0/plugins/proxy-rewrite/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5e35353..428f39e 100644
--- a/docs/apisix/2.10.0/plugins/real-ip/index.html
+++ b/docs/apisix/2.10.0/plugins/real-ip/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">real-ip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">real-ip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 678783a..6d1d9ed 100644
--- a/docs/apisix/2.10.0/plugins/redirect/index.html
+++ b/docs/apisix/2.10.0/plugins/redirect/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is a [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  - [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 abaf740..49dd485 100644
--- a/docs/apisix/2.10.0/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/referer-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ whitelisting/blacklisting request header Referrers.</p><h2><a aria-hidden="true"
 The message can be user-defined.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Creates a route or service object, and enable plugin <code>referer-restriction</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 b458e45..2a3622f 100644
--- a/docs/apisix/2.10.0/plugins/request-id/index.html
+++ b/docs/apisix/2.10.0/plugins/request-id/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td [...]
 read the documentation first before deciding to use snowflake. Because once the configuration information is enabled, you can not arbitrarily adjust the configuration information. Failure to do so may result in duplicate ID being generated.</p></blockquote><p>The Snowflake algorithm is not enabled by default and needs to be configured in &#x27;conf/config.yaml&#x27;.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code langua [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 8b07a00..0866868 100644
--- a/docs/apisix/2.10.0/plugins/request-validation/index.html
+++ b/docs/apisix/2.10.0/plugins/request-validation/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c645abe..1966056 100644
--- a/docs/apisix/2.10.0/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.10.0/plugins/response-rewrite/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;code&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;ok&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e777354..1fc3f2d 100644
--- a/docs/apisix/2.10.0/plugins/server-info/index.html
+++ b/docs/apisix/2.10.0/plugins/server-info/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 cc51758..0e86c52 100644
--- a/docs/apisix/2.10.0/plugins/serverless/index.html
+++ b/docs/apisix/2.10.0/plugins/serverless/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6f0bf21..ca9cbd5 100644
--- a/docs/apisix/2.10.0/plugins/skywalking/index.html
+++ b/docs/apisix/2.10.0/plugins/skywalking/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.PathVariable;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RequestMapping;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RestController;</span></span><span class="token-line" style="c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">/**</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @author cyxinda</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @create 2020-05-29 14:02</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @desc skywalking test controller</span></span><span class="token-line" style="color:#393A34"> [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">agent.service_name</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">yourservername</span [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 676e3ae..3b181ab 100644
--- a/docs/apisix/2.10.0/plugins/sls-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/sls-logger/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <a href="/docs/apisix/2.10.0/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a hre [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e07667b..a8a4af3 100644
--- a/docs/apisix/2.10.0/plugins/syslog/index.html
+++ b/docs/apisix/2.10.0/plugins/syslog/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c88077c..0e1f12f 100644
--- a/docs/apisix/2.10.0/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/tcp-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 <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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 d5c86f5..5b1c59c 100644
--- a/docs/apisix/2.10.0/plugins/traffic-split/index.html
+++ b/docs/apisix/2.10.0/plugins/traffic-split/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ service_name, discovery_type, checks, retries, retry_timeout, desc, scheme, labe
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-col [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="matching-rules-correspond-to-upstream"></a>Matching rules correspond to upstream<a class="h [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 52d577e..f591c88 100644
--- a/docs/apisix/2.10.0/plugins/ua-restriction/index.html
+++ b/docs/apisix/2.10.0/plugins/ua-restriction/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ua-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ua-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 2e650b3..6b6dd63 100644
--- a/docs/apisix/2.10.0/plugins/udp-logger/index.html
+++ b/docs/apisix/2.10.0/plugins/udp-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 <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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 0a32b19..878a55c 100644
--- a/docs/apisix/2.10.0/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.10.0/plugins/uri-blocker/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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><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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f6855de..eaba44a 100644
--- a/docs/apisix/2.10.0/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.10.0/plugins/wolf-rbac/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token stri [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 011fe16..0542da0 100644
--- a/docs/apisix/2.10.0/plugins/zipkin/index.html
+++ b/docs/apisix/2.10.0/plugins/zipkin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></span><span class="token-line" style="color:#39 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">}</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener" class="th [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6f64bdc..d88c603 100644
--- a/docs/apisix/2.10.0/profile/index.html
+++ b/docs/apisix/2.10.0/profile/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitte [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitte [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ requirements, we need to change the parameters in the configuration file to the
 development environment. You have to change it back. It&#x27;s very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
 between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
 tools such as git can be configured, and version management can be better achieved.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 b86fb58..1a2fce6 100644
--- a/docs/apisix/2.10.0/router-radixtree/index.html
+++ b/docs/apisix/2.10.0/router-radixtree/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">graphql</span><span class="token punctuation" style="color:#393A34">:</span><span class [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If you need to pass a GraphQL body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/router-radixtree.md [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 35fab17..62c6e9a 100644
--- a/docs/apisix/2.10.0/stand-alone/index.html
+++ b/docs/apisix/2.10.0/stand-alone/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 the APISIX will check if this file has any changed every second.
 If the file changed and we found <code>#END</code> at the end of the file,
 APISIX will load the rules in this file and update to memory of APISIX.</p><p>Here is a mini example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" sty [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 899db0a..9e34fb6 100644
--- a/docs/apisix/2.10.0/stream-proxy/index.html
+++ b/docs/apisix/2.10.0/stream-proxy/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 By default, no stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></ [...]
 See <a href="/docs/apisix/2.10.0/admin-api#ssl">Admin API&#x27;s SSL section</a> for how to do.
 mTLS is also supported, see <a href="/docs/apisix/2.10.0/mtls#protect-route">Protect Route</a> for how to do.</p><p>Third, we need to configure a stream route to match and proxy it to the upstream:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><sp [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 cf3e918..422100f 100644
--- a/docs/apisix/2.10.0/tags/index.html
+++ b/docs/apisix/2.10.0/tags/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 bf8a7fe..dcd5f9b 100644
--- a/docs/apisix/2.4/FAQ/index.html
+++ b/docs/apisix/2.4/FAQ/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ Run the <code>luarocks config rocks_servers</code> command(this command is suppo
 </span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">These open issues may also help:</span></span><span class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">Can&#x27;</span><span class="token plain">t </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> openresty on macOS </span><span class="token number" style="color:#36acaa">10.15</span><span clas [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Error: A newer Command Line Tools release is available.</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Update them from Software Update </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> System Preferences or</span></span><span class="token-line" style="color:#393A34"><span class="token plain">https://developer.apple.com/d [...]
 See the <code>Hot reload</code> section in <a href="/docs/apisix/2.4/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 96a2d7f..2c09f16 100644
--- a/docs/apisix/2.4/IGNORE_DOC/index.html
+++ b/docs/apisix/2.4/IGNORE_DOC/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f2f5a8c..d83b55a 100644
--- a/docs/apisix/2.4/admin-api/index.html
+++ b/docs/apisix/2.4/admin-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -80,7 +80,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">After the execution is successful, nodes will not retain the original data, and the entire update is:</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token strin [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</e [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9374282..014c674 100644
--- a/docs/apisix/2.4/architecture-design/apisix/index.html
+++ b/docs/apisix/2.4/architecture-design/apisix/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9d00c40..a42401b 100644
--- a/docs/apisix/2.4/architecture-design/consumer/index.html
+++ b/docs/apisix/2.4/architecture-design/consumer/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.4/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><spa [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBo [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9ae0fd1..57d248b 100644
--- a/docs/apisix/2.4/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.4/architecture-design/debug-mode/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can not be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7b4b262..c8191a0 100644
--- a/docs/apisix/2.4/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.4/architecture-design/global-rule/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f42a4ee..0febfae 100644
--- a/docs/apisix/2.4/architecture-design/index.html
+++ b/docs/apisix/2.4/architecture-design/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7f0709f..005ee41 100644
--- a/docs/apisix/2.4/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.4/architecture-design/plugin-config/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color: [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="col [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9523498..b41196e 100644
--- a/docs/apisix/2.4/architecture-design/plugin/index.html
+++ b/docs/apisix/2.4/architecture-design/plugin/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 8dc4a48..e3bfb40 100644
--- a/docs/apisix/2.4/architecture-design/route/index.html
+++ b/docs/apisix/2.4/architecture-design/route/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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">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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 3e90b80..109f58b 100644
--- a/docs/apisix/2.4/architecture-design/router/index.html
+++ b/docs/apisix/2.4/architecture-design/router/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 3b9456e..330f81a 100644
--- a/docs/apisix/2.4/architecture-design/script/index.html
+++ b/docs/apisix/2.4/architecture-design/script/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6a52e6b..65c2ae1 100644
--- a/docs/apisix/2.4/architecture-design/service/index.html
+++ b/docs/apisix/2.4/architecture-design/service/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 1ea4bc8..70c067d 100644
--- a/docs/apisix/2.4/architecture-design/upstream/index.html
+++ b/docs/apisix/2.4/architecture-design/upstream/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 04d32cc..7904cea 100644
--- a/docs/apisix/2.4/aws/index.html
+++ b/docs/apisix/2.4/aws/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apis [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 26f88bd..181c184 100644
--- a/docs/apisix/2.4/batch-processor/index.html
+++ b/docs/apisix/2.4/batch-processor/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Note: P [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 ff8cf34..d2d6778 100644
--- a/docs/apisix/2.4/benchmark/index.html
+++ b/docs/apisix/2.4/benchmark/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" width="70%" height="70%"><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 ancho [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 db4adf0..47e9e0e 100644
--- a/docs/apisix/2.4/certificate/index.html
+++ b/docs/apisix/2.4/certificate/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/certificate.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5a88860..000fb1a 100644
--- a/docs/apisix/2.4/control-api/index.html
+++ b/docs/apisix/2.4/control-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ If a plugin adds such a control API, please refer to each plugin&#x27;s document
 of fields like <code>consumer_schema</code> or <code>type</code>, it is dependended by the plugin&#x27;s
 definition.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="get-v1healthcheck"></a>GET /v1/healthcheck<a class="hash-link" href="#get-v1healthcheck" title="Direct link to heading">#</a></h3><p>Introduced since <code>v2.3</code>.</p><p>Return current <a href="/docs/apisix/2.4/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0"  [...]
 object with id 1 creates a health checker, the <code>src_type</code> is <code>upstreams</code> and the <code>src_id</code> is <code>1</code>.</li><li>name: the name of the health checker.</li><li>nodes: the target nodes of the health checker.</li><li>healthy_nodes: the healthy node known by the health checker.</li></ul><p>User can also use <code>/v1/healthcheck/$src_type/$src_id</code> can get the status of a health checker.</p><p>For example, <code>GET /v1/healthcheck/upstreams/1</code> [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 964435b..cf5740a 100644
--- a/docs/apisix/2.4/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.4/customize-nginx-configuration/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></span><span class="token-line" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 cb6981e..cd723fd 100644
--- a/docs/apisix/2.4/debug-function/index.html
+++ b/docs/apisix/2.4/debug-function/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 be32438..56228c5 100644
--- a/docs/apisix/2.4/discovery/consul_kv/index.html
+++ b/docs/apisix/2.4/discovery/consul_kv/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <img src="https://user-images.githubusercontent.com/548385/107141841-6ced3e00-6966-11eb-8aa4-bc790a4ad113.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    -X PUT </span><span class="token punctuation" style="color:#393A34">\</span><span class="token plain"></span></span><span c [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 d01e28c..de9112f 100644
--- a/docs/apisix/2.4/discovery/dns/index.html
+++ b/docs/apisix/2.4/discovery/dns/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9604276..3451b5b 100644
--- a/docs/apisix/2.4/discovery/eureka/index.html
+++ b/docs/apisix/2.4/discovery/eureka/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 b1c28fe..50ca5ab 100644
--- a/docs/apisix/2.4/discovery/index.html
+++ b/docs/apisix/2.4/discovery/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="htt [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -31,7 +31,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">201</span><span class="token plain"> Created</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Date: Sat, </span><span class="token number" style="color:#36acaa">31</span><span class="token plain"> Aug </span><span class="token number" style="color:#36acaa">2019</span><span class="token plain"> 01:17:15 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;node&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;value&quot;</span><span class="token plain">:</span><span class="token punctuation" style="color:#393A34">{</span [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -i -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" s [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f0e24ee..12058df 100644
--- a/docs/apisix/2.4/discovery/nacos/index.html
+++ b/docs/apisix/2.4/discovery/nacos/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7038f93..0cdcb58 100644
--- a/docs/apisix/2.4/dns/index.html
+++ b/docs/apisix/2.4/dns/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"> [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 ab35e7f..a0bd158 100644
--- a/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://a [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -56,7 +56,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></span><span class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="shell"></a>Shell<a class= [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to lowercase hexits</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </ [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># to base64</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">echo</span><span class="token plain"> -e </span><span class="token variable" style="color:#36acaa">$MESSAGE</span><span class="token plain"> </span><span [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 0f056d4..3280bca 100644
--- a/docs/apisix/2.4/external-plugin/index.html
+++ b/docs/apisix/2.4/external-plugin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ declare your variable first in the <code>conf/config.yaml</code>:</p><div class=
 OpenResty 1.19+.</p><p>However, APISIX needs to wait the runner to quit so that we can ensure the resource
 for the process group is freed.</p><p>Therefore, we send SIGTERM first. And then after 1 second, if the runner is still
 running, we will send SIGKILL.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/external-plugin.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 37a2af3..bb725d4 100644
--- a/docs/apisix/2.4/getting-started/index.html
+++ b/docs/apisix/2.4/getting-started/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -41,7 +41,7 @@ a web application to perform the similar. The dashboard is available in the foll
 <a href="https://github.com/apache/apisix" target="_blank" rel="noopener noreferrer">repository</a>. The dashboard is intuitive and you can orchestrate the
 same route configurations via the dashboard as well.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/dashboard.png" alt="Dashboard"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="troubleshooting"></a>Troubleshooting<a class="hash-link" href="#troubleshooting" title="Direct link to heading">#</a></h3><ul><li><p>Make sure the required ports are not being used by other systems/processes (T [...]
 The following is the command to kill a process which is listening to a specific port (in unix based systems).</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">``</span><span class="token variable" style="color:#36acaa">`</span [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 2347d24..11a7a77 100644
--- a/docs/apisix/2.4/grpc-proxy/index.html
+++ b/docs/apisix/2.4/grpc-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7c93e25..de14ca6 100644
--- a/docs/apisix/2.4/health-check/index.html
+++ b/docs/apisix/2.4/health-check/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 you can use it for upstream.</p><p>Note that we only start the health check when the upstream is hit by a request.
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</p><p>The following is an example of health check:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</spa [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 da5e1ed..0352a67 100644
--- a/docs/apisix/2.4/how-to-build/index.html
+++ b/docs/apisix/2.4/how-to-build/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix. [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ see how to do it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor ancho
 make sure to set openresty as default nginx. And export the path as below.</li></ul><ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH<ul><li>Linux default installation path:<ul><li>export PATH=/usr/local/openresty/nginx/sbin:$PATH</li></ul></li><li>OSx default installation path via homebrew:<ul><li>export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH</li></ul></li></ul></li></ul><p><strong>Run Individual Test Cases</strong></p><ul><li>Use the following command to run test cases  [...]
 Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="to [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes?api_key</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">abcdefghabcdefgh-invalid -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="co [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 1dd591c..96f4c8f 100644
--- a/docs/apisix/2.4/https/index.html
+++ b/docs/apisix/2.4/https/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5342b71..1bc05e3 100644
--- a/docs/apisix/2.4/install-dependencies/index.html
+++ b/docs/apisix/2.4/install-dependencies/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -41,7 +41,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">nohup</span><span class="token plain"> etcd </span><span class="token operator" style="color:#393A34">&amp;</span></span></code></pre [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># start etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">etcd </span><span class="token operator" style="color:#393A34">&amp;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain" sty [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># enable TLS for etcd server</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">etcd --cert-file</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">/path/to/cert --key-file</span><span class="token operator" style="color:# [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 360c83f..d888c79 100644
--- a/docs/apisix/2.4/internal/testing-framework/index.html
+++ b/docs/apisix/2.4/internal/testing-framework/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Introducing APISIX&#x27;s testing framework | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Introducing APISIX&#x27;s testing framework | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@ This allows us to write methods inside <code>t/lib/server.lua</code> to emulate
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">==</span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> TEST </span><span class="token number" style="color:#36acaa">2</span><span class="token plain">: vars rule with </span><span class="token operator" style="color:#393A34">!</span><span class="token plain"> </span><span class="token punctuation" style="c [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 3492dd4..c60560b 100644
--- a/docs/apisix/2.4/mtls/index.html
+++ b/docs/apisix/2.4/mtls/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.a [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 71aeaaa..8d5bd2b 100644
--- a/docs/apisix/2.4/plugin-develop/index.html
+++ b/docs/apisix/2.4/plugin-develop/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -55,7 +55,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.4/control-api">Control API</a>.</p> [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    return {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></span><span class="token-line" style="color:#393A3 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 cf428a0..573c959 100644
--- a/docs/apisix/2.4/plugin-interceptors/index.html
+++ b/docs/apisix/2.4/plugin-interceptors/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ to run rules to protect them.</p><p>Here is an example to limit the access of <c
 to clients in <code>10.0.0.0/24</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/pl [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.4/plugins/ip-restriction">ip-restriction</a></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this- [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 8d79737..3ca0ffc 100644
--- a/docs/apisix/2.4/plugins/api-breaker/index.html
+++ b/docs/apisix/2.4/plugins/api-breaker/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 df6059b..42f469d 100644
--- a/docs/apisix/2.4/plugins/authz-casbin/index.html
+++ b/docs/apisix/2.4/plugins/authz-casbin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-casbin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-casbin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -38,7 +38,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[policy_effect]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">e = some(where (p.eft == allow))</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">[matchers]</span></span><span class="token-line" style="color:#393A34"><span class="token plain">m = (g(r.sub, p.sub) || keyMatch(r.sub, p.sub)) &amp;&amp; keyMatch(r.obj, p.obj) &amp;&amp; keyMatch(r.act, p.act)</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>And the example policy as:</p><div class="code [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 cc4ba25..5ec5387 100644
--- a/docs/apisix/2.4/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.4/plugins/authz-keycloak/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div cl
 API workflows. Run the following docker image and visit <code>http://localhost:8090</code> to view the associated policies for the unit tests.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class=" [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-pag [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 4461572..3011e1a 100644
--- a/docs/apisix/2.4/plugins/basic-auth/index.html
+++ b/docs/apisix/2.4/plugins/basic-auth/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 d571abb..7b08662 100644
--- a/docs/apisix/2.4/plugins/batch-requests/index.html
+++ b/docs/apisix/2.4/plugins/batch-requests/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 282a27a..3858b3f 100644
--- a/docs/apisix/2.4/plugins/client-control/index.html
+++ b/docs/apisix/2.4/plugins/client-control/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ handle the client request.</p><p><strong>This plugin requires APISIX to run on <
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">413</span><span class="token plain"> Request Entity Too Large</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span>< [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c005cbf..c9323b9 100644
--- a/docs/apisix/2.4/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/consumer-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/services/2 -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"> -X PUT -d </span><span class="token string" style="color:#e3116c">&#x27;</span></span><span class="token-line" styl [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 4296e89..07c7765 100644
--- a/docs/apisix/2.4/plugins/cors/index.html
+++ b/docs/apisix/2.4/plugins/cors/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7d9266d..cf07fb7 100644
--- a/docs/apisix/2.4/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ They should provide the same result.</p><h2><a aria-hidden="true" tabindex="-1"
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctuation" style="color:#393A34">:</span><span class="toke [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 a44c9e4..1df37a9 100644
--- a/docs/apisix/2.4/plugins/echo/index.html
+++ b/docs/apisix/2.4/plugins/echo/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f5db301..9ef22fe 100644
--- a/docs/apisix/2.4/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.4/plugins/error-log-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 <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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 eafd628..b7e3641 100644
--- a/docs/apisix/2.4/plugins/ext-plugin-post-req/index.html
+++ b/docs/apisix/2.4/plugins/ext-plugin-post-req/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-post-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 20e4dbd..ab8eaf3 100644
--- a/docs/apisix/2.4/plugins/ext-plugin-pre-req/index.html
+++ b/docs/apisix/2.4/plugins/ext-plugin-pre-req/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-pre-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ext-plugin-pre-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ executing most of the builtin Lua plugins.</p><p>To know what is the plugin runn
 is executed at that side.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable this plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 b0c047b..2ca6859 100644
--- a/docs/apisix/2.4/plugins/fault-injection/index.html
+++ b/docs/apisix/2.4/plugins/fault-injection/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockC [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockConte [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6460ac5..3d58d1a 100644
--- a/docs/apisix/2.4/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.4/plugins/grpc-transcode/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;Hello world&quot;</span><span class="token punctuation" style="color:#393A34">}</span></span></code></pre><button type="button" aria-label="Copy code to clipbo [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;workflowKey&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;#2251799813685260&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;workflowInstanceKey&quot;</span><spa [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 88b7e1d..678be17 100644
--- a/docs/apisix/2.4/plugins/gzip/index.html
+++ b/docs/apisix/2.4/plugins/gzip/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gzip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gzip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favico [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: Binary output can mess up your terminal. Use </span><span class="token string" style="color:#e3116c">&quot;--output -&quot;</span><span class="token plain"> to tell</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Warning: </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> to output it to your terminal anyway, or [...]
 you can delete the corresponding JSON configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 8e18dd0..4b71ded 100644
--- a/docs/apisix/2.4/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.4/plugins/hmac-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
 Need to pay attention to the handling of newline characters in signature strings in various languages, which can easily lead to the problem of <code>{&quot;message&quot;:&quot;Invalid signature&quot;}</code>.</p><p>Example inputs:</p><table><thead><tr><th>Variable</th><th>Value</th></tr></thead><tbody><tr><td>secret</td><td>this is secret key</td></tr><tr><td>message</td><td>this is signature string</td></tr></tbody></table><p>Example outputs:</p><table><thead><tr><th>Type</th><th>Hash</ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 88e0dd1..8b4bafe 100644
--- a/docs/apisix/2.4/plugins/http-logger/index.html
+++ b/docs/apisix/2.4/plugins/http-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 86feeff..5177dea 100644
--- a/docs/apisix/2.4/plugins/index.html
+++ b/docs/apisix/2.4/plugins/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 ff84366..f857f92 100644
--- a/docs/apisix/2.4/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ip-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ you can send the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 957a92b..a908211 100644
--- a/docs/apisix/2.4/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.4/plugins/jwt-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors<
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token operator" style="color:#393A34">!</span><span class="token plain">DOCTYPE html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 8e7b47b..0dc6455 100644
--- a/docs/apisix/2.4/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.4/plugins/kafka-logger/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ or every <code>buffer_duration</code> flush the buffer.</p><p>In case of success
 In case of errors, returns <code>nil</code> with a string describing the error (<code>buffer overflow</code>).</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="sample-broker-list"></a>Sample broker list<a class="hash-link" href="#sample-broker-list" title="Direct link to heading">#</a></h3><p>This plugin supports to push in to more than one broker at a time. Specify the brokers of the external kafka servers as below
 sample to take effect of this functionality.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span cla [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 4958fb1..525a4ba 100644
--- a/docs/apisix/2.4/plugins/key-auth/index.html
+++ b/docs/apisix/2.4/plugins/key-auth/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.2:9080/index.html -H </span><span class="token string" style="color:#e3116c">&#x27;apikey: abcabcabc&#x27;</span><span class="token plain"> -i</span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 540e914..75984b1 100644
--- a/docs/apisix/2.4/plugins/limit-conn/index.html
+++ b/docs/apisix/2.4/plugins/limit-conn/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> -i http://127.0.0.1:9080/index.html?sleep</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">20</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token opera [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7dd5d71..9dcaaf1 100644
--- a/docs/apisix/2.4/plugins/limit-count/index.html
+++ b/docs/apisix/2.4/plugins/limit-count/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-connt | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-connt | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 ca7c7ec..c55f4e1 100644
--- a/docs/apisix/2.4/plugins/limit-req/index.html
+++ b/docs/apisix/2.4/plugins/limit-req/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">html</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="t [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 29465ac..e7920f6 100644
--- a/docs/apisix/2.4/plugins/log-rotate/index.html
+++ b/docs/apisix/2.4/plugins/log-rotate/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ When the number of log files exceeds the remaining number, the old files are aut
 For example, the following example is a sample based on <code>interval: 10</code> and <code>max_kept: 10</code>.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></span><span class="token-line" style="color:# [...]
 It does not need to be bound in any route or service.</p><p>Here is an example of <code>conf/config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punc [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">plugin_attr</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">log-rotate</span><span class="token punctuation" style="color:#393A34">:</span><span cla [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9a689f8..f44312a 100644
--- a/docs/apisix/2.4/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.4/plugins/mqtt-proxy/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7028bb2..282deac 100644
--- a/docs/apisix/2.4/plugins/node-status/index.html
+++ b/docs/apisix/2.4/plugins/node-status/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@ And this plugin will not make any difference in future requests, so usually we d
 then you can not add this plugin in any route.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</ [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately.</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly sh"><pre tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ curl http://127.0.0.1:9080/apisix/admin/routes/1 -H &#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 b64bb79..bdc831d 100644
--- a/docs/apisix/2.4/plugins/openid-connect/index.html
+++ b/docs/apisix/2.4/plugins/openid-connect/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ Once the user has authenticated against the identity provider, the plugin will o
 and further information from the identity provider on behalf of the user. The information is currently stored
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
 and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 70fa07c..733f993 100644
--- a/docs/apisix/2.4/plugins/prometheus/index.html
+++ b/docs/apisix/2.4/plugins/prometheus/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors<
 any options yet.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H </span><span class="token st [...]
 these metric data.</p><p>For example like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">scrape_configs</span><span class="token punctuation" style="color:#393A34">:</span><span class="token  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 cc8162a..af06324 100644
--- a/docs/apisix/2.4/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.4/plugins/proxy-cache/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>http status is &#x27;200&#x27; and the response header contains &#x27;Apisix-Cache-Status&#x27; to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</l [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache are [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">html</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain">head</span><span class="token [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c85a5ef..520bd18 100644
--- a/docs/apisix/2.4/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.4/plugins/proxy-mirror/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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">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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6100851..69773a3 100644
--- a/docs/apisix/2.4/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/proxy-rewrite/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 d7e0b4f..ae3e57e 100644
--- a/docs/apisix/2.4/plugins/real-ip/index.html
+++ b/docs/apisix/2.4/plugins/real-ip/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">real-ip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">real-ip | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9258a82..8ff9f51 100644
--- a/docs/apisix/2.4/plugins/redirect/index.html
+++ b/docs/apisix/2.4/plugins/redirect/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is a [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately :</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  - [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 7b5d819..e437e12 100644
--- a/docs/apisix/2.4/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/referer-restriction/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 whitelisting request header Referrers.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>whitelist</td><td>array[string]</td><td>required</td><td></td><td></td><td>List of hostname to wh [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 15f0716..c7f2f23 100644
--- a/docs/apisix/2.4/plugins/request-id/index.html
+++ b/docs/apisix/2.4/plugins/request-id/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f1561d7..e7d960e 100644
--- a/docs/apisix/2.4/plugins/request-validation/index.html
+++ b/docs/apisix/2.4/plugins/request-validation/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.o [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 d52d91e..854d22c 100644
--- a/docs/apisix/2.4/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/response-rewrite/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;code&quot;</span><span class="token builtin class-name">:</span><span class="token string" style="color:#e3116c">&quot;ok&quot;</span><span class="token plain">,</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name" [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f1b8fce..e591426 100644
--- a/docs/apisix/2.4/plugins/server-info/index.html
+++ b/docs/apisix/2.4/plugins/server-info/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 faac2d1..c2d554f 100644
--- a/docs/apisix/2.4/plugins/serverless/index.html
+++ b/docs/apisix/2.4/plugins/serverless/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 1acda92..02a6088 100644
--- a/docs/apisix/2.4/plugins/skywalking/index.html
+++ b/docs/apisix/2.4/plugins/skywalking/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.PathVariable;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RequestMapping;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.web.bind.annotation.RestController;</span></span><span class="token-line" style="c [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">/**</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @author cyxinda</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @create 2020-05-29 14:02</span></span><span class="token-line" style="color:#393A34"><span class="token plain"> * @desc skywalking test controller</span></span><span class="token-line" style="color:#393A34"> [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">agent.service_name</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">yourservername</span [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 cd9d72f..3288121 100644
--- a/docs/apisix/2.4/plugins/sls-logger/index.html
+++ b/docs/apisix/2.4/plugins/sls-logger/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a href=" [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http:// [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6181c82..298795d 100644
--- a/docs/apisix/2.4/plugins/syslog/index.html
+++ b/docs/apisix/2.4/plugins/syslog/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 2f70453..0dc828a 100644
--- a/docs/apisix/2.4/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.4/plugins/tcp-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 <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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 0d7785a..3f3a388 100644
--- a/docs/apisix/2.4/plugins/traffic-split/index.html
+++ b/docs/apisix/2.4/plugins/traffic-split/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -35,7 +35,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-col [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 af2ee9d..3f85da7 100644
--- a/docs/apisix/2.4/plugins/ua-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ua-restriction/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ua-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ua-restriction | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 24c4167..f18d19a 100644
--- a/docs/apisix/2.4/plugins/udp-logger/index.html
+++ b/docs/apisix/2.4/plugins/udp-logger/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 <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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 d654fd9..fbf9ef1 100644
--- a/docs/apisix/2.4/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.4/plugins/uri-blocker/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e2a1f54..b00b051 100644
--- a/docs/apisix/2.4/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.4/plugins/wolf-rbac/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">200</span><span class="token plain"> OK</span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">&quot;message&quot;</span><span class="token builtin class-name">:</span><span class="token stri [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1  -H [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 788ef1c..b4b2b76 100644
--- a/docs/apisix/2.4/plugins/zipkin/index.html
+++ b/docs/apisix/2.4/plugins/zipkin/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></span><span class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></span><span class="token-line" style="color:#39 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">}</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener" class="th [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 57d8f1a..41eb151 100644
--- a/docs/apisix/2.4/powered-by/index.html
+++ b/docs/apisix/2.4/powered-by/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.ap [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 89880c6..2ddf955 100644
--- a/docs/apisix/2.4/profile/index.html
+++ b/docs/apisix/2.4/profile/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitte [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitte [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ requirements, we need to change the parameters in the configuration file to the
 development environment. You have to change it back. It&#x27;s very easy to make mistakes.</p><p>The solution to the above problem is to distinguish the current running environment through environment variables, and switch
 between different configuration files through environment variables. The corresponding environment variable in APISIX is: <code>APISIX_PROFILE</code></p><p>When <code>APISIX_PROFILE</code> is not set, the following three configuration files are used by default:</p><ul><li>conf/config.yaml</li><li>conf/apisix.yaml</li><li>conf/debug.yaml</li></ul><p>If the value of <code>APISIX_PROFILE</code> is set to <code>prod</code>, the following three configuration files are used:</p><ul><li>conf/co [...]
 tools such as git can be configured, and version management can be better achieved.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c7f9aa1..b2727d4 100644
--- a/docs/apisix/2.4/router-radixtree/index.html
+++ b/docs/apisix/2.4/router-radixtree/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -26,7 +26,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </s [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">graphql</span><span class="token punctuation" style="color:#393A34">:</span><span class [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If you need to pass a graphql body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/router-radixtree.md [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 4b703e9..4e3337d 100644
--- a/docs/apisix/2.4/stand-alone/index.html
+++ b/docs/apisix/2.4/stand-alone/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 the APISIX will check if this file has any changed every second.
 If the file changed and we found <code>#END</code> at the end of the file,
 APISIX will load the rules in this file and update to memory of APISIX.</p><p>Here is a mini example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" sty [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 84c17e8..e116a30 100644
--- a/docs/apisix/2.4/stream-proxy/index.html
+++ b/docs/apisix/2.4/stream-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//im [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 2b715db..4c25ee3 100644
--- a/docs/apisix/2.4/tags/index.html
+++ b/docs/apisix/2.4/tags/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Tags | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Tags | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 9c93e5c..2f51606 100644
--- a/docs/apisix/2.5/FAQ/index.html
+++ b/docs/apisix/2.5/FAQ/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ For China mainland users, you can use the <code>luarocks.cn</code> as the luaroc
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Error: A newer Command Line Tools release is available.</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Update them from Software Update </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> System Preferences or</span></span><span class="token-line" style="color:#393A34"><span class="token plain">https://developer.apple.com/d [...]
 See the <code>Hot reload</code> section in <a href="/docs/apisix/2.5/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># The uri match failed</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/12ab -i</span></span><span class="token-line" style="color:#393A34"><s [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5471237..7e8ce0f 100644
--- a/docs/apisix/2.5/IGNORE_DOC/index.html
+++ b/docs/apisix/2.5/IGNORE_DOC/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 5d1805f..c18c476 100644
--- a/docs/apisix/2.5/admin-api/index.html
+++ b/docs/apisix/2.5/admin-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -82,7 +82,7 @@
 used when all the nodes with higher priority are unavailable or tried.</p><p>As the default priority is 0, we can configure nodes with negative priority as the backup.</p><p>For example,</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><pre tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="tok [...]
 Therefore it is the backup of <code>127.0.0.1</code>.</p><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/ssl/{id}</p><p><em>Description</em>:SSL.</p><blockquote><p>Request Met [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/plugins/key-auth&quot;</span><span class="token plain"> -H </span><span class="token string" style="color:#e3116c">&#x27;X-API-KEY: edd1c9f034335f136f87ad84b625c8f1&#x27;</span><span class="token plain"></span> [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6ac679e..c9bee55 100644
--- a/docs/apisix/2.5/architecture-design/apisix/index.html
+++ b/docs/apisix/2.5/architecture-design/apisix/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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> [...]
 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e98f45e..b3384f7 100644
--- a/docs/apisix/2.5/architecture-design/consumer/index.html
+++ b/docs/apisix/2.5/architecture-design/consumer/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.5/plugins/consumer-restriction">consumer-restriction</a> plug-in to restrict the access of Jack to this API.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6 [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Repeated tests, all return 403; Jack is forbidden to access this API</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/hello -H </span><spa [...]
 </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBo [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 4e6e1e5..4c46d11 100644
--- a/docs/apisix/2.5/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.5/architecture-design/debug-mode/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6b324c6..7d18ffb 100644
--- a/docs/apisix/2.5/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.5/architecture-design/global-rule/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 554eff0..2b8ced4 100644
--- a/docs/apisix/2.5/architecture-design/index.html
+++ b/docs/apisix/2.5/architecture-design/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache. [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -42,7 +42,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">hello world</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor anchor__h3 anchorWithHideOnScrollNavbar_3R7-" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker re [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">hook_phase</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic"># Module Function List, Name: hook_phase</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">  </ [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 19cd576..666ba8c 100644
--- a/docs/apisix/2.5/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin-config/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//i [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 bind it with a route directly.</p><p>For instance, you can do something like:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># create a plugin config</span><span class="token plain [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># bind it to route</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127.0.0.1:9080/apisix/admin/routes/1 -H </span><span class="token string" style="color: [...]
 will be merged into it. The same plugin in the plugin config will override one in the <code>plugins</code>.</p><p>For example, when we configure a plugin config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><pre tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="col [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 91b0b1b..ee02bb0 100644
--- a/docs/apisix/2.5/architecture-design/plugin/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6176a1d..a8b655b 100644
--- a/docs/apisix/2.5/architecture-design/route/index.html
+++ b/docs/apisix/2.5/architecture-design/route/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favic [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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">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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 8451ef2..a98626d 100644
--- a/docs/apisix/2.5/architecture-design/router/index.html
+++ b/docs/apisix/2.5/architecture-design/router/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 6f1d0b2..fbbfb99 100644
--- a/docs/apisix/2.5/architecture-design/script/index.html
+++ b/docs/apisix/2.5/architecture-design/script/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favi [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 1bb382c..1d59c49 100644
--- a/docs/apisix/2.5/architecture-design/service/index.html
+++ b/docs/apisix/2.5/architecture-design/service/index.html
@@ -15,16 +15,16 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fav [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 116c814..12e747c 100644
--- a/docs/apisix/2.5/architecture-design/upstream/index.html
+++ b/docs/apisix/2.5/architecture-design/upstream/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/fa [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 426933c..8feb341 100644
--- a/docs/apisix/2.5/aws/index.html
+++ b/docs/apisix/2.5/aws/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https:/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></span><span class="token-line" style="color:#393A34"><span class="token plain">Address: </span><span class="token number" style="color:#36acaa">44.224</span><span class="token plain">.124.213</span></span><sp [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor anchor__h2 anchorWithHideOnScrollNavbar_3R7-" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apis [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 159786c..c69db14 100644
--- a/docs/apisix/2.5/batch-processor/index.html
+++ b/docs/apisix/2.5/batch-processor/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org/ [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></span><span class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></span><span class="token-line" style="color:#393A34"><span class="token plain">end</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o clean-btn">Copy</button></div></div><p>Note: P [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 8c9f959..32d7263 100644
--- a/docs/apisix/2.5/benchmark/index.html
+++ b/docs/apisix/2.5/benchmark/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/f [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class=
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-1.jpg" alt="flamegraph-1"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 anchorWithHideOnScrollNavbar_3R7-" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor anchor__h4 ancho [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><pre tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_39YC"><span class=" [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 c6cd1c5..9a67b86 100644
--- a/docs/apisix/2.5/certificate/index.html
+++ b/docs/apisix/2.5/certificate/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -37,7 +37,7 @@ and RSA key-exchange algorithm, then just configure the extra certificates (the
 first certificate and private key should be still put in <code>cert</code> and <code>key</code>) and
 private keys by <code>certs</code> and <code>keys</code>.</p><ul><li><code>certs</code>: PEM-encoded certificate array.</li><li><code>keys</code>: PEM-encoded private key array.</li></ul><p><code>APISIX</code> will pair certificate and private key with the same indice as a SSL key
 pair. So the length of <code>certs</code> and <code>keys</code> must be same.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/certificate.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 e7df1ec..0648657 100644
--- a/docs/apisix/2.5/control-api/index.html
+++ b/docs/apisix/2.5/control-api/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -27,7 +27,7 @@ If a plugin adds such a control API, please refer to each plugin&#x27;s document
 of fields like <code>consumer_schema</code> or <code>type</code>, it is 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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 2c851cb..232e7ad 100644
--- a/docs/apisix/2.5/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.5/customize-nginx-configuration/index.html
@@ -15,9 +15,9 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apis [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
@@ -25,7 +25,7 @@
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">            location /ysec_status </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></span><span class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></span><span class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></span><span class="token-line" [...]
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">http_server_configuration_snippet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span></span><span class="token-line" style="color:#393A34"><span class="token scalar  [...]
-<script src="/assets/js/runtime~main.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.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 f806f0b..b58de01 100644
--- a/docs/apisix/2.5/debug-function/index.html
+++ b/docs/apisix/2.5/debug-function/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/atom+xml" href="/releases/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
-<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
-<link rel="preload" href="/assets/js/runtime~main.a97072e1.js" as="script">
-<link rel="preload" href="/assets/js/main.b2d4dc71.js" as="script">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org// [...]
+<link rel="preload" href="/assets/js/runtime~main.c3ccebff.js" as="script">
+<link rel="preload" href="/assets/js/main.af91850a.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.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.a97072e1.js"></script>
-<script src="/assets/js/main.b2d4dc71.js"></script>
+<script src="/assets/js/runtime~main.c3ccebff.js"></script>
+<script src="/assets/js/main.af91850a.js"></script>
 </body>
... 54032 lines suppressed ...