apisix-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From github-...@apache.org
Subject [apisix-website] branch asf-site updated: deploy: 2f92a392b07c8e295ef5dd28fc2d1e30a8e12ddf
Date Wed, 25 Aug 2021 03:09:01 GMT
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 a5d19be  deploy: 2f92a392b07c8e295ef5dd28fc2d1e30a8e12ddf
a5d19be is described below

commit a5d19be2c9218710add5cfb9b73bc6e1441bc89c
Author: juzhiyuan <juzhiyuan@users.noreply.github.com>
AuthorDate: Wed Aug 25 03:08:52 2021 +0000

    deploy: 2f92a392b07c8e295ef5dd28fc2d1e30a8e12ddf
---
 404.html                                             |  8 ++++----
 .../index.html                                       | 10 +++++-----
 .../index.html                                       | 10 +++++-----
 articles/Apache-APISIX-Incubator-Journey/index.html  | 10 +++++-----
 articles/Apache-APISIX-Kubernetes-Ingress/index.html | 10 +++++-----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html   | 10 +++++-----
 .../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/atom.xml                                    |  6 +++---
 articles/index.html                                  | 10 +++++-----
 articles/page/2/index.html                           | 10 +++++-----
 articles/rss.xml                                     |  6 +++---
 assets/js/08110f6c.899ef5cc.js                       |  1 +
 assets/js/08110f6c.d8778145.js                       |  1 -
 assets/js/09b17eb5.7e349b3e.js                       |  1 +
 assets/js/09b17eb5.fe8e302f.js                       |  1 -
 assets/js/10c2f2ec.7bca6a29.js                       |  1 +
 assets/js/10c2f2ec.90264220.js                       |  1 -
 assets/js/1264ab03.783b9902.js                       |  1 +
 assets/js/1264ab03.f09243d3.js                       |  1 -
 assets/js/150a263f.bd5be9d0.js                       |  1 +
 assets/js/150a263f.c892c4b4.js                       |  1 -
 assets/js/19945770.425b5f2e.js                       |  1 -
 assets/js/19945770.a389a9ef.js                       |  1 +
 assets/js/1a76dc05.16c08580.js                       |  1 +
 assets/js/1a76dc05.1d5885dd.js                       |  1 -
 assets/js/1c51fb76.a0f82018.js                       |  1 +
 assets/js/1c51fb76.e369bc5a.js                       |  1 -
 assets/js/20303563.3bca1ffd.js                       |  1 -
 assets/js/20303563.3bd8d7d9.js                       |  1 +
 assets/js/20510dec.176e1312.js                       |  1 +
 assets/js/20510dec.89379dcc.js                       |  1 -
 assets/js/2164351d.0a3f0b36.js                       |  1 +
 assets/js/2164351d.160642a1.js                       |  1 -
 assets/js/2a6ac083.3e057902.js                       |  1 -
 assets/js/2a6ac083.7d656d19.js                       |  1 +
 assets/js/2ed9567c.0689aa54.js                       |  1 +
 assets/js/2ed9567c.9cda206e.js                       |  1 -
 assets/js/3393d167.2a032817.js                       |  1 +
 assets/js/3393d167.f066a159.js                       |  1 -
 assets/js/358566b4.14551ade.js                       |  1 +
 assets/js/358566b4.df345146.js                       |  1 -
 assets/js/3dc9f306.310140b1.js                       |  1 -
 assets/js/3dc9f306.b3f6d704.js                       |  1 +
 assets/js/40fb2fae.51c49be6.js                       |  1 +
 assets/js/40fb2fae.6948aeba.js                       |  1 -
 assets/js/4c20006b.aa6606bc.js                       |  1 -
 assets/js/4c20006b.ba9414f3.js                       |  1 +
 assets/js/4d194b10.5083cfdb.js                       |  1 -
 assets/js/4d194b10.dbb08904.js                       |  1 +
 assets/js/4ffe1038.8ff2ad41.js                       |  1 -
 assets/js/4ffe1038.9807b951.js                       |  1 +
 assets/js/50facf8e.76850d45.js                       |  1 +
 assets/js/50facf8e.9cbfaf70.js                       |  1 -
 assets/js/542fd41f.68c29692.js                       |  1 +
 assets/js/542fd41f.f2a59ce4.js                       |  1 -
 assets/js/5dab7861.2f517401.js                       |  1 -
 assets/js/5dab7861.fad55538.js                       |  1 +
 assets/js/601c6eaa.1132a99f.js                       |  1 -
 assets/js/601c6eaa.8d91633f.js                       |  1 +
 assets/js/6327eb3b.40a82899.js                       |  1 +
 assets/js/6327eb3b.d3d8a811.js                       |  1 -
 assets/js/66fbb9c2.4e9c541d.js                       |  1 -
 assets/js/66fbb9c2.b51539c5.js                       |  1 +
 assets/js/70cee07f.0d07be44.js                       |  1 -
 assets/js/70cee07f.a4c4717b.js                       |  1 +
 assets/js/7716d3b8.3227f64d.js                       |  1 -
 assets/js/7716d3b8.e6f8cf12.js                       |  1 +
 assets/js/7969b7e9.28ac2f32.js                       |  1 -
 assets/js/7969b7e9.df09ff8d.js                       |  1 +
 assets/js/7af3052c.042890c6.js                       |  1 +
 assets/js/7af3052c.70ef2dc3.js                       |  1 -
 assets/js/8e784bf3.02209496.js                       |  1 -
 assets/js/8e784bf3.ec216fa1.js                       |  1 +
 assets/js/8eb00467.0309c900.js                       |  1 -
 assets/js/8eb00467.828f545c.js                       |  1 +
 assets/js/8f700fa6.6b3736fa.js                       |  1 +
 assets/js/8f700fa6.ea64a523.js                       |  1 -
 assets/js/90fc8a94.4a39d83b.js                       |  1 -
 assets/js/90fc8a94.709fec70.js                       |  1 +
 assets/js/92b17a50.500d9b4b.js                       |  1 +
 assets/js/92b17a50.e94ce9b9.js                       |  1 -
 assets/js/941960b1.87d904b6.js                       |  1 -
 assets/js/941960b1.8ef9473b.js                       |  1 +
 assets/js/9845a4c8.3019e8f8.js                       |  1 -
 assets/js/9845a4c8.df4074d8.js                       |  1 +
 assets/js/9aae17b7.591ebc4f.js                       |  1 -
 assets/js/9aae17b7.a24ea707.js                       |  1 +
 assets/js/adbb350b.48cdc79d.js                       |  1 +
 assets/js/adbb350b.6b3fb4a0.js                       |  1 -
 assets/js/b6021c6a.3c645da6.js                       |  1 -
 assets/js/b6021c6a.8660c63a.js                       |  1 +
 assets/js/c4efd965.3d0ec24e.js                       |  1 -
 assets/js/c4efd965.cc51c75d.js                       |  1 +
 assets/js/cb56db36.11f5ddbc.js                       |  1 +
 assets/js/cb56db36.29061427.js                       |  1 -
 assets/js/d18db9b0.0402ab8c.js                       |  1 +
 assets/js/d18db9b0.1cdc2f2f.js                       |  1 -
 assets/js/d3b10994.74a80e6a.js                       |  1 +
 assets/js/d3b10994.c7476264.js                       |  1 -
 assets/js/da052172.28e69bef.js                       |  1 -
 assets/js/da052172.64544b47.js                       |  1 +
 assets/js/e188de42.70c4159a.js                       |  1 -
 assets/js/e188de42.da358101.js                       |  1 +
 assets/js/e94802f7.1da554e0.js                       |  1 +
 assets/js/e94802f7.34e3155a.js                       |  1 -
 assets/js/f7c0b0ac.ade2a7a4.js                       |  1 -
 assets/js/f7c0b0ac.e4b69324.js                       |  1 +
 assets/js/main.27f94c8c.js                           |  2 ++
 .../js/main.27f94c8c.js.LICENSE.txt                  |  0
 assets/js/main.4fb61845.js                           |  2 --
 assets/js/runtime~main.99724df8.js                   |  1 +
 assets/js/runtime~main.bccc5514.js                   |  1 -
 blog/2020/08/22/new-website/index.html               |  8 ++++----
 .../another-way-to-implement-envoy-filter/index.html |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../21/run-ingress-apisix-on-amazon-eks/index.html   |  8 ++++----
 .../stable-product-delivery-with-cypress/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html"                                      |  8 ++++----
 .../index.html"                                      |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       | 10 +++++-----
 .../06/29/release-apache-apisix-2.7-en/index.html    | 10 +++++-----
 blog/2021/06/29/release-apache-apisix-2.7/index.html | 10 +++++-----
 .../etcd3-support-HTTP-access-perfectly/index.html   | 10 +++++-----
 .../2021/07/06/celebrate-200-contributors/index.html |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../07/28/release-apache-apisix-2.8-en/index.html    |  8 ++++----
 blog/2021/07/28/release-apache-apisix-2.8/index.html |  8 ++++----
 blog/2021/08/05/Kong-to-APISIX/index.html            |  8 ++++----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html   |  8 ++++----
 blog/2021/08/11/interview-TuZhengsong/index.html     |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../18/Auth-with-Casbin-in-Apache-APISIX/index.html  |  8 ++++----
 .../08/19/go-makes-Apache-APISIX-better/index.html   |  8 ++++----
 blog/index.html                                      |  8 ++++----
 blog/page/2/index.html                               | 10 +++++-----
 blog/page/3/index.html                               |  8 ++++----
 blog/page/4/index.html                               |  8 ++++----
 docs/apisix/2.4/FAQ/index.html                       |  8 ++++----
 docs/apisix/2.4/IGNORE_DOC/index.html                |  8 ++++----
 docs/apisix/2.4/admin-api/index.html                 |  8 ++++----
 docs/apisix/2.4/architecture-design/index.html       |  8 ++++----
 docs/apisix/2.4/aws/index.html                       |  8 ++++----
 docs/apisix/2.4/batch-processor/index.html           |  8 ++++----
 docs/apisix/2.4/benchmark/index.html                 |  8 ++++----
 docs/apisix/2.4/control-api/index.html               |  8 ++++----
 .../2.4/customize-nginx-configuration/index.html     |  8 ++++----
 docs/apisix/2.4/debug-function/index.html            |  8 ++++----
 docs/apisix/2.4/discovery/consul_kv/index.html       |  8 ++++----
 docs/apisix/2.4/discovery/index.html                 |  8 ++++----
 docs/apisix/2.4/dns/index.html                       |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 docs/apisix/2.4/getting-started/index.html           |  8 ++++----
 docs/apisix/2.4/grpc-proxy/index.html                |  8 ++++----
 docs/apisix/2.4/health-check/index.html              |  8 ++++----
 docs/apisix/2.4/how-to-build/index.html              |  8 ++++----
 docs/apisix/2.4/https/index.html                     |  8 ++++----
 docs/apisix/2.4/install-dependencies/index.html      |  8 ++++----
 docs/apisix/2.4/mtls/index.html                      |  8 ++++----
 docs/apisix/2.4/plugin-develop/index.html            |  8 ++++----
 docs/apisix/2.4/plugin-interceptors/index.html       |  8 ++++----
 docs/apisix/2.4/plugins/api-breaker/index.html       |  8 ++++----
 docs/apisix/2.4/plugins/authz-keycloak/index.html    |  8 ++++----
 docs/apisix/2.4/plugins/basic-auth/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/batch-requests/index.html    |  8 ++++----
 .../2.4/plugins/consumer-restriction/index.html      |  8 ++++----
 docs/apisix/2.4/plugins/cors/index.html              |  8 ++++----
 docs/apisix/2.4/plugins/dubbo-proxy/index.html       |  8 ++++----
 docs/apisix/2.4/plugins/echo/index.html              |  8 ++++----
 docs/apisix/2.4/plugins/error-log-logger/index.html  |  8 ++++----
 docs/apisix/2.4/plugins/fault-injection/index.html   |  8 ++++----
 docs/apisix/2.4/plugins/grpc-transcode/index.html    |  8 ++++----
 docs/apisix/2.4/plugins/hmac-auth/index.html         |  8 ++++----
 docs/apisix/2.4/plugins/http-logger/index.html       |  8 ++++----
 docs/apisix/2.4/plugins/index.html                   |  8 ++++----
 docs/apisix/2.4/plugins/ip-restriction/index.html    |  8 ++++----
 docs/apisix/2.4/plugins/jwt-auth/index.html          |  8 ++++----
 docs/apisix/2.4/plugins/kafka-logger/index.html      |  8 ++++----
 docs/apisix/2.4/plugins/key-auth/index.html          |  8 ++++----
 docs/apisix/2.4/plugins/limit-conn/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/limit-count/index.html       |  8 ++++----
 docs/apisix/2.4/plugins/limit-req/index.html         |  8 ++++----
 docs/apisix/2.4/plugins/log-rotate/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/mqtt-proxy/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/node-status/index.html       |  8 ++++----
 docs/apisix/2.4/plugins/openid-connect/index.html    |  8 ++++----
 docs/apisix/2.4/plugins/prometheus/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/proxy-cache/index.html       |  8 ++++----
 docs/apisix/2.4/plugins/proxy-mirror/index.html      |  8 ++++----
 docs/apisix/2.4/plugins/proxy-rewrite/index.html     |  8 ++++----
 docs/apisix/2.4/plugins/redirect/index.html          |  8 ++++----
 .../2.4/plugins/referer-restriction/index.html       |  8 ++++----
 docs/apisix/2.4/plugins/request-id/index.html        |  8 ++++----
 .../apisix/2.4/plugins/request-validation/index.html |  8 ++++----
 docs/apisix/2.4/plugins/response-rewrite/index.html  |  8 ++++----
 docs/apisix/2.4/plugins/server-info/index.html       |  8 ++++----
 docs/apisix/2.4/plugins/serverless/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/skywalking/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/sls-logger/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/syslog/index.html            |  8 ++++----
 docs/apisix/2.4/plugins/tcp-logger/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/traffic-split/index.html     |  8 ++++----
 docs/apisix/2.4/plugins/udp-logger/index.html        |  8 ++++----
 docs/apisix/2.4/plugins/uri-blocker/index.html       |  8 ++++----
 docs/apisix/2.4/plugins/wolf-rbac/index.html         |  8 ++++----
 docs/apisix/2.4/plugins/zipkin/index.html            |  8 ++++----
 docs/apisix/2.4/powered-by/index.html                |  8 ++++----
 docs/apisix/2.4/profile/index.html                   |  8 ++++----
 docs/apisix/2.4/router-radixtree/index.html          |  8 ++++----
 docs/apisix/2.4/stand-alone/index.html               |  8 ++++----
 docs/apisix/2.4/stream-proxy/index.html              |  8 ++++----
 docs/apisix/2.5/FAQ/index.html                       |  8 ++++----
 docs/apisix/2.5/IGNORE_DOC/index.html                |  8 ++++----
 docs/apisix/2.5/admin-api/index.html                 |  8 ++++----
 .../apisix/2.5/architecture-design/apisix/index.html |  8 ++++----
 .../2.5/architecture-design/consumer/index.html      |  8 ++++----
 .../2.5/architecture-design/debug-mode/index.html    |  8 ++++----
 .../2.5/architecture-design/global-rule/index.html   |  8 ++++----
 docs/apisix/2.5/architecture-design/index.html       |  8 ++++----
 .../2.5/architecture-design/plugin-config/index.html |  8 ++++----
 .../apisix/2.5/architecture-design/plugin/index.html |  8 ++++----
 docs/apisix/2.5/architecture-design/route/index.html |  8 ++++----
 .../apisix/2.5/architecture-design/router/index.html |  8 ++++----
 .../apisix/2.5/architecture-design/script/index.html |  8 ++++----
 .../2.5/architecture-design/service/index.html       |  8 ++++----
 .../2.5/architecture-design/upstream/index.html      |  8 ++++----
 docs/apisix/2.5/aws/index.html                       |  8 ++++----
 docs/apisix/2.5/batch-processor/index.html           |  8 ++++----
 docs/apisix/2.5/benchmark/index.html                 |  8 ++++----
 docs/apisix/2.5/control-api/index.html               |  8 ++++----
 .../2.5/customize-nginx-configuration/index.html     |  8 ++++----
 docs/apisix/2.5/debug-function/index.html            |  8 ++++----
 docs/apisix/2.5/discovery/consul_kv/index.html       |  8 ++++----
 docs/apisix/2.5/discovery/dns/index.html             |  8 ++++----
 docs/apisix/2.5/discovery/index.html                 |  8 ++++----
 docs/apisix/2.5/dns/index.html                       |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 docs/apisix/2.5/getting-started/index.html           |  8 ++++----
 docs/apisix/2.5/grpc-proxy/index.html                |  8 ++++----
 docs/apisix/2.5/health-check/index.html              |  8 ++++----
 docs/apisix/2.5/how-to-build/index.html              |  8 ++++----
 docs/apisix/2.5/https/index.html                     |  8 ++++----
 docs/apisix/2.5/install-dependencies/index.html      |  8 ++++----
 docs/apisix/2.5/mtls/index.html                      |  8 ++++----
 docs/apisix/2.5/plugin-develop/index.html            |  8 ++++----
 docs/apisix/2.5/plugin-interceptors/index.html       |  8 ++++----
 docs/apisix/2.5/plugins/api-breaker/index.html       |  8 ++++----
 docs/apisix/2.5/plugins/authz-keycloak/index.html    |  8 ++++----
 docs/apisix/2.5/plugins/basic-auth/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/batch-requests/index.html    |  8 ++++----
 .../2.5/plugins/consumer-restriction/index.html      |  8 ++++----
 docs/apisix/2.5/plugins/cors/index.html              |  8 ++++----
 docs/apisix/2.5/plugins/dubbo-proxy/index.html       |  8 ++++----
 docs/apisix/2.5/plugins/echo/index.html              |  8 ++++----
 docs/apisix/2.5/plugins/error-log-logger/index.html  |  8 ++++----
 docs/apisix/2.5/plugins/fault-injection/index.html   |  8 ++++----
 docs/apisix/2.5/plugins/grpc-transcode/index.html    |  8 ++++----
 docs/apisix/2.5/plugins/hmac-auth/index.html         |  8 ++++----
 docs/apisix/2.5/plugins/http-logger/index.html       |  8 ++++----
 docs/apisix/2.5/plugins/index.html                   |  8 ++++----
 docs/apisix/2.5/plugins/ip-restriction/index.html    |  8 ++++----
 docs/apisix/2.5/plugins/jwt-auth/index.html          |  8 ++++----
 docs/apisix/2.5/plugins/kafka-logger/index.html      |  8 ++++----
 docs/apisix/2.5/plugins/key-auth/index.html          |  8 ++++----
 docs/apisix/2.5/plugins/limit-conn/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/limit-count/index.html       |  8 ++++----
 docs/apisix/2.5/plugins/limit-req/index.html         |  8 ++++----
 docs/apisix/2.5/plugins/log-rotate/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/mqtt-proxy/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/node-status/index.html       |  8 ++++----
 docs/apisix/2.5/plugins/openid-connect/index.html    |  8 ++++----
 docs/apisix/2.5/plugins/prometheus/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/proxy-cache/index.html       |  8 ++++----
 docs/apisix/2.5/plugins/proxy-mirror/index.html      |  8 ++++----
 docs/apisix/2.5/plugins/proxy-rewrite/index.html     |  8 ++++----
 docs/apisix/2.5/plugins/redirect/index.html          |  8 ++++----
 .../2.5/plugins/referer-restriction/index.html       |  8 ++++----
 docs/apisix/2.5/plugins/request-id/index.html        |  8 ++++----
 .../apisix/2.5/plugins/request-validation/index.html |  8 ++++----
 docs/apisix/2.5/plugins/response-rewrite/index.html  |  8 ++++----
 docs/apisix/2.5/plugins/server-info/index.html       |  8 ++++----
 docs/apisix/2.5/plugins/serverless/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/skywalking/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/sls-logger/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/syslog/index.html            |  8 ++++----
 docs/apisix/2.5/plugins/tcp-logger/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/traffic-split/index.html     |  8 ++++----
 docs/apisix/2.5/plugins/udp-logger/index.html        |  8 ++++----
 docs/apisix/2.5/plugins/uri-blocker/index.html       |  8 ++++----
 docs/apisix/2.5/plugins/wolf-rbac/index.html         |  8 ++++----
 docs/apisix/2.5/plugins/zipkin/index.html            |  8 ++++----
 docs/apisix/2.5/powered-by/index.html                |  8 ++++----
 docs/apisix/2.5/profile/index.html                   |  8 ++++----
 docs/apisix/2.5/router-radixtree/index.html          |  8 ++++----
 docs/apisix/2.5/stand-alone/index.html               |  8 ++++----
 docs/apisix/2.5/stream-proxy/index.html              |  8 ++++----
 docs/apisix/2.6/FAQ/index.html                       |  8 ++++----
 docs/apisix/2.6/IGNORE_DOC/index.html                |  8 ++++----
 docs/apisix/2.6/admin-api/index.html                 |  8 ++++----
 .../apisix/2.6/architecture-design/apisix/index.html |  8 ++++----
 .../2.6/architecture-design/consumer/index.html      |  8 ++++----
 .../2.6/architecture-design/debug-mode/index.html    |  8 ++++----
 .../2.6/architecture-design/global-rule/index.html   |  8 ++++----
 docs/apisix/2.6/architecture-design/index.html       |  8 ++++----
 .../2.6/architecture-design/plugin-config/index.html |  8 ++++----
 .../apisix/2.6/architecture-design/plugin/index.html |  8 ++++----
 docs/apisix/2.6/architecture-design/route/index.html |  8 ++++----
 .../apisix/2.6/architecture-design/router/index.html |  8 ++++----
 .../apisix/2.6/architecture-design/script/index.html |  8 ++++----
 .../2.6/architecture-design/service/index.html       |  8 ++++----
 .../2.6/architecture-design/upstream/index.html      |  8 ++++----
 docs/apisix/2.6/aws/index.html                       |  8 ++++----
 docs/apisix/2.6/batch-processor/index.html           |  8 ++++----
 docs/apisix/2.6/benchmark/index.html                 |  8 ++++----
 docs/apisix/2.6/control-api/index.html               |  8 ++++----
 .../2.6/customize-nginx-configuration/index.html     |  8 ++++----
 docs/apisix/2.6/debug-function/index.html            |  8 ++++----
 docs/apisix/2.6/discovery/consul_kv/index.html       |  8 ++++----
 docs/apisix/2.6/discovery/dns/index.html             |  8 ++++----
 docs/apisix/2.6/discovery/eureka/index.html          |  8 ++++----
 docs/apisix/2.6/discovery/index.html                 |  8 ++++----
 docs/apisix/2.6/discovery/nacos/index.html           |  8 ++++----
 docs/apisix/2.6/dns/index.html                       |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 docs/apisix/2.6/getting-started/index.html           |  8 ++++----
 docs/apisix/2.6/grpc-proxy/index.html                |  8 ++++----
 docs/apisix/2.6/health-check/index.html              |  8 ++++----
 docs/apisix/2.6/how-to-build/index.html              |  8 ++++----
 docs/apisix/2.6/https/index.html                     |  8 ++++----
 docs/apisix/2.6/install-dependencies/index.html      |  8 ++++----
 docs/apisix/2.6/mtls/index.html                      |  8 ++++----
 docs/apisix/2.6/plugin-develop/index.html            |  8 ++++----
 docs/apisix/2.6/plugin-interceptors/index.html       |  8 ++++----
 docs/apisix/2.6/plugins/api-breaker/index.html       |  8 ++++----
 docs/apisix/2.6/plugins/authz-keycloak/index.html    |  8 ++++----
 docs/apisix/2.6/plugins/basic-auth/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/batch-requests/index.html    |  8 ++++----
 .../2.6/plugins/consumer-restriction/index.html      |  8 ++++----
 docs/apisix/2.6/plugins/cors/index.html              |  8 ++++----
 docs/apisix/2.6/plugins/dubbo-proxy/index.html       |  8 ++++----
 docs/apisix/2.6/plugins/echo/index.html              |  8 ++++----
 docs/apisix/2.6/plugins/error-log-logger/index.html  |  8 ++++----
 docs/apisix/2.6/plugins/fault-injection/index.html   |  8 ++++----
 docs/apisix/2.6/plugins/grpc-transcode/index.html    |  8 ++++----
 docs/apisix/2.6/plugins/hmac-auth/index.html         |  8 ++++----
 docs/apisix/2.6/plugins/http-logger/index.html       |  8 ++++----
 docs/apisix/2.6/plugins/index.html                   |  8 ++++----
 docs/apisix/2.6/plugins/ip-restriction/index.html    |  8 ++++----
 docs/apisix/2.6/plugins/jwt-auth/index.html          |  8 ++++----
 docs/apisix/2.6/plugins/kafka-logger/index.html      |  8 ++++----
 docs/apisix/2.6/plugins/key-auth/index.html          |  8 ++++----
 docs/apisix/2.6/plugins/limit-conn/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/limit-count/index.html       |  8 ++++----
 docs/apisix/2.6/plugins/limit-req/index.html         |  8 ++++----
 docs/apisix/2.6/plugins/log-rotate/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/mqtt-proxy/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/node-status/index.html       |  8 ++++----
 docs/apisix/2.6/plugins/openid-connect/index.html    |  8 ++++----
 docs/apisix/2.6/plugins/prometheus/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/proxy-cache/index.html       |  8 ++++----
 docs/apisix/2.6/plugins/proxy-mirror/index.html      |  8 ++++----
 docs/apisix/2.6/plugins/proxy-rewrite/index.html     |  8 ++++----
 docs/apisix/2.6/plugins/redirect/index.html          |  8 ++++----
 .../2.6/plugins/referer-restriction/index.html       |  8 ++++----
 docs/apisix/2.6/plugins/request-id/index.html        |  8 ++++----
 .../apisix/2.6/plugins/request-validation/index.html |  8 ++++----
 docs/apisix/2.6/plugins/response-rewrite/index.html  |  8 ++++----
 docs/apisix/2.6/plugins/server-info/index.html       |  8 ++++----
 docs/apisix/2.6/plugins/serverless/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/skywalking/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/sls-logger/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/syslog/index.html            |  8 ++++----
 docs/apisix/2.6/plugins/tcp-logger/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/traffic-split/index.html     |  8 ++++----
 docs/apisix/2.6/plugins/udp-logger/index.html        |  8 ++++----
 docs/apisix/2.6/plugins/uri-blocker/index.html       |  8 ++++----
 docs/apisix/2.6/plugins/wolf-rbac/index.html         |  8 ++++----
 docs/apisix/2.6/plugins/zipkin/index.html            |  8 ++++----
 docs/apisix/2.6/powered-by/index.html                |  8 ++++----
 docs/apisix/2.6/profile/index.html                   |  8 ++++----
 docs/apisix/2.6/router-radixtree/index.html          |  8 ++++----
 docs/apisix/2.6/stand-alone/index.html               |  8 ++++----
 docs/apisix/2.6/stream-proxy/index.html              |  8 ++++----
 docs/apisix/2.7/FAQ/index.html                       |  8 ++++----
 docs/apisix/2.7/IGNORE_DOC/index.html                |  8 ++++----
 docs/apisix/2.7/admin-api/index.html                 |  8 ++++----
 .../apisix/2.7/architecture-design/apisix/index.html |  8 ++++----
 .../2.7/architecture-design/consumer/index.html      |  8 ++++----
 .../2.7/architecture-design/debug-mode/index.html    |  8 ++++----
 .../2.7/architecture-design/global-rule/index.html   |  8 ++++----
 docs/apisix/2.7/architecture-design/index.html       |  8 ++++----
 .../2.7/architecture-design/plugin-config/index.html |  8 ++++----
 .../apisix/2.7/architecture-design/plugin/index.html |  8 ++++----
 docs/apisix/2.7/architecture-design/route/index.html |  8 ++++----
 .../apisix/2.7/architecture-design/router/index.html |  8 ++++----
 .../apisix/2.7/architecture-design/script/index.html |  8 ++++----
 .../2.7/architecture-design/service/index.html       |  8 ++++----
 .../2.7/architecture-design/upstream/index.html      |  8 ++++----
 docs/apisix/2.7/aws/index.html                       |  8 ++++----
 docs/apisix/2.7/batch-processor/index.html           |  8 ++++----
 docs/apisix/2.7/benchmark/index.html                 |  8 ++++----
 docs/apisix/2.7/certificate/index.html               |  8 ++++----
 docs/apisix/2.7/control-api/index.html               |  8 ++++----
 .../2.7/customize-nginx-configuration/index.html     |  8 ++++----
 docs/apisix/2.7/debug-function/index.html            |  8 ++++----
 docs/apisix/2.7/discovery/consul_kv/index.html       |  8 ++++----
 docs/apisix/2.7/discovery/dns/index.html             |  8 ++++----
 docs/apisix/2.7/discovery/eureka/index.html          |  8 ++++----
 docs/apisix/2.7/discovery/index.html                 |  8 ++++----
 docs/apisix/2.7/discovery/nacos/index.html           |  8 ++++----
 docs/apisix/2.7/dns/index.html                       |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 docs/apisix/2.7/external-plugin/index.html           |  8 ++++----
 docs/apisix/2.7/getting-started/index.html           |  8 ++++----
 docs/apisix/2.7/grpc-proxy/index.html                |  8 ++++----
 docs/apisix/2.7/health-check/index.html              |  8 ++++----
 docs/apisix/2.7/how-to-build/index.html              |  8 ++++----
 docs/apisix/2.7/https/index.html                     |  8 ++++----
 docs/apisix/2.7/install-dependencies/index.html      |  8 ++++----
 docs/apisix/2.7/mtls/index.html                      |  8 ++++----
 docs/apisix/2.7/plugin-develop/index.html            |  8 ++++----
 docs/apisix/2.7/plugin-interceptors/index.html       |  8 ++++----
 docs/apisix/2.7/plugins/api-breaker/index.html       |  8 ++++----
 docs/apisix/2.7/plugins/authz-keycloak/index.html    |  8 ++++----
 docs/apisix/2.7/plugins/basic-auth/index.html        |  8 ++++----
 docs/apisix/2.7/plugins/batch-requests/index.html    |  8 ++++----
 docs/apisix/2.7/plugins/client-control/index.html    |  8 ++++----
 .../2.7/plugins/consumer-restriction/index.html      |  8 ++++----
 docs/apisix/2.7/plugins/cors/index.html              |  8 ++++----
 docs/apisix/2.7/plugins/dubbo-proxy/index.html       |  8 ++++----
 docs/apisix/2.7/plugins/echo/index.html              |  8 ++++----
 docs/apisix/2.7/plugins/error-log-logger/index.html  |  8 ++++----
 .../2.7/plugins/ext-plugin-post-req/index.html       |  8 ++++----
 .../apisix/2.7/plugins/ext-plugin-pre-req/index.html |  8 ++++----
 docs/apisix/2.7/plugins/fault-injection/index.html   |  8 ++++----
 docs/apisix/2.7/plugins/grpc-transcode/index.html    |  8 ++++----
 docs/apisix/2.7/plugins/hmac-auth/index.html         |  8 ++++----
 docs/apisix/2.7/plugins/http-logger/index.html       |  8 ++++----
 docs/apisix/2.7/plugins/index.html                   |  8 ++++----
 docs/apisix/2.7/plugins/ip-restriction/index.html    |  8 ++++----
 docs/apisix/2.7/plugins/jwt-auth/index.html          |  8 ++++----
 docs/apisix/2.7/plugins/kafka-logger/index.html      |  8 ++++----
 docs/apisix/2.7/plugins/key-auth/index.html          |  8 ++++----
 docs/apisix/2.7/plugins/limit-conn/index.html        |  8 ++++----
 docs/apisix/2.7/plugins/limit-count/index.html       |  8 ++++----
 docs/apisix/2.7/plugins/limit-req/index.html         |  8 ++++----
 docs/apisix/2.7/plugins/log-rotate/index.html        |  8 ++++----
 docs/apisix/2.7/plugins/mqtt-proxy/index.html        |  8 ++++----
 docs/apisix/2.7/plugins/node-status/index.html       |  8 ++++----
 docs/apisix/2.7/plugins/openid-connect/index.html    |  8 ++++----
 docs/apisix/2.7/plugins/prometheus/index.html        |  8 ++++----
 docs/apisix/2.7/plugins/proxy-cache/index.html       |  8 ++++----
 docs/apisix/2.7/plugins/proxy-mirror/index.html      |  8 ++++----
 docs/apisix/2.7/plugins/proxy-rewrite/index.html     |  8 ++++----
 docs/apisix/2.7/plugins/redirect/index.html          |  8 ++++----
 .../2.7/plugins/referer-restriction/index.html       |  8 ++++----
 docs/apisix/2.7/plugins/request-id/index.html        |  8 ++++----
 .../apisix/2.7/plugins/request-validation/index.html |  8 ++++----
 docs/apisix/2.7/plugins/response-rewrite/index.html  |  8 ++++----
 docs/apisix/2.7/plugins/server-info/index.html       |  8 ++++----
 docs/apisix/2.7/plugins/serverless/index.html        |  8 ++++----
 docs/apisix/2.7/plugins/skywalking/index.html        |  8 ++++----
 docs/apisix/2.7/plugins/sls-logger/index.html        |  8 ++++----
 docs/apisix/2.7/plugins/syslog/index.html            |  8 ++++----
 docs/apisix/2.7/plugins/tcp-logger/index.html        |  8 ++++----
 docs/apisix/2.7/plugins/traffic-split/index.html     |  8 ++++----
 docs/apisix/2.7/plugins/udp-logger/index.html        |  8 ++++----
 docs/apisix/2.7/plugins/uri-blocker/index.html       |  8 ++++----
 docs/apisix/2.7/plugins/wolf-rbac/index.html         |  8 ++++----
 docs/apisix/2.7/plugins/zipkin/index.html            |  8 ++++----
 docs/apisix/2.7/powered-by/index.html                |  8 ++++----
 docs/apisix/2.7/profile/index.html                   |  8 ++++----
 docs/apisix/2.7/router-radixtree/index.html          |  8 ++++----
 docs/apisix/2.7/stand-alone/index.html               |  8 ++++----
 docs/apisix/2.7/stream-proxy/index.html              |  8 ++++----
 docs/apisix/2.8/FAQ/index.html                       |  8 ++++----
 docs/apisix/2.8/IGNORE_DOC/index.html                |  8 ++++----
 docs/apisix/2.8/admin-api/index.html                 |  8 ++++----
 .../apisix/2.8/architecture-design/apisix/index.html |  8 ++++----
 .../2.8/architecture-design/consumer/index.html      |  8 ++++----
 .../2.8/architecture-design/debug-mode/index.html    |  8 ++++----
 .../2.8/architecture-design/global-rule/index.html   |  8 ++++----
 docs/apisix/2.8/architecture-design/index.html       |  8 ++++----
 .../2.8/architecture-design/plugin-config/index.html |  8 ++++----
 .../apisix/2.8/architecture-design/plugin/index.html |  8 ++++----
 docs/apisix/2.8/architecture-design/route/index.html |  8 ++++----
 .../apisix/2.8/architecture-design/router/index.html |  8 ++++----
 .../apisix/2.8/architecture-design/script/index.html |  8 ++++----
 .../2.8/architecture-design/service/index.html       |  8 ++++----
 .../2.8/architecture-design/upstream/index.html      |  8 ++++----
 docs/apisix/2.8/aws/index.html                       |  8 ++++----
 docs/apisix/2.8/batch-processor/index.html           |  8 ++++----
 docs/apisix/2.8/benchmark/index.html                 |  8 ++++----
 docs/apisix/2.8/certificate/index.html               |  8 ++++----
 docs/apisix/2.8/control-api/index.html               |  8 ++++----
 .../2.8/customize-nginx-configuration/index.html     |  8 ++++----
 docs/apisix/2.8/debug-function/index.html            |  8 ++++----
 docs/apisix/2.8/discovery/consul_kv/index.html       |  8 ++++----
 docs/apisix/2.8/discovery/dns/index.html             |  8 ++++----
 docs/apisix/2.8/discovery/eureka/index.html          |  8 ++++----
 docs/apisix/2.8/discovery/index.html                 |  8 ++++----
 docs/apisix/2.8/discovery/nacos/index.html           |  8 ++++----
 docs/apisix/2.8/dns/index.html                       |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 docs/apisix/2.8/external-plugin/index.html           |  8 ++++----
 docs/apisix/2.8/getting-started/index.html           |  8 ++++----
 docs/apisix/2.8/grpc-proxy/index.html                |  8 ++++----
 docs/apisix/2.8/health-check/index.html              |  8 ++++----
 docs/apisix/2.8/how-to-build/index.html              |  8 ++++----
 docs/apisix/2.8/https/index.html                     |  8 ++++----
 docs/apisix/2.8/install-dependencies/index.html      |  8 ++++----
 docs/apisix/2.8/mtls/index.html                      |  8 ++++----
 docs/apisix/2.8/plugin-develop/index.html            |  8 ++++----
 docs/apisix/2.8/plugin-interceptors/index.html       |  8 ++++----
 docs/apisix/2.8/plugins/api-breaker/index.html       |  8 ++++----
 docs/apisix/2.8/plugins/authz-keycloak/index.html    |  8 ++++----
 docs/apisix/2.8/plugins/basic-auth/index.html        |  8 ++++----
 docs/apisix/2.8/plugins/batch-requests/index.html    |  8 ++++----
 docs/apisix/2.8/plugins/client-control/index.html    |  8 ++++----
 .../2.8/plugins/consumer-restriction/index.html      |  8 ++++----
 docs/apisix/2.8/plugins/cors/index.html              |  8 ++++----
 docs/apisix/2.8/plugins/dubbo-proxy/index.html       |  8 ++++----
 docs/apisix/2.8/plugins/echo/index.html              |  8 ++++----
 docs/apisix/2.8/plugins/error-log-logger/index.html  |  8 ++++----
 .../2.8/plugins/ext-plugin-post-req/index.html       |  8 ++++----
 .../apisix/2.8/plugins/ext-plugin-pre-req/index.html |  8 ++++----
 docs/apisix/2.8/plugins/fault-injection/index.html   |  8 ++++----
 docs/apisix/2.8/plugins/grpc-transcode/index.html    |  8 ++++----
 docs/apisix/2.8/plugins/gzip/index.html              |  8 ++++----
 docs/apisix/2.8/plugins/hmac-auth/index.html         |  8 ++++----
 docs/apisix/2.8/plugins/http-logger/index.html       |  8 ++++----
 docs/apisix/2.8/plugins/index.html                   |  8 ++++----
 docs/apisix/2.8/plugins/ip-restriction/index.html    |  8 ++++----
 docs/apisix/2.8/plugins/jwt-auth/index.html          |  8 ++++----
 docs/apisix/2.8/plugins/kafka-logger/index.html      |  8 ++++----
 docs/apisix/2.8/plugins/key-auth/index.html          |  8 ++++----
 docs/apisix/2.8/plugins/limit-conn/index.html        |  8 ++++----
 docs/apisix/2.8/plugins/limit-count/index.html       |  8 ++++----
 docs/apisix/2.8/plugins/limit-req/index.html         |  8 ++++----
 docs/apisix/2.8/plugins/log-rotate/index.html        |  8 ++++----
 docs/apisix/2.8/plugins/mqtt-proxy/index.html        |  8 ++++----
 docs/apisix/2.8/plugins/node-status/index.html       |  8 ++++----
 docs/apisix/2.8/plugins/openid-connect/index.html    |  8 ++++----
 docs/apisix/2.8/plugins/prometheus/index.html        |  8 ++++----
 docs/apisix/2.8/plugins/proxy-cache/index.html       |  8 ++++----
 docs/apisix/2.8/plugins/proxy-mirror/index.html      |  8 ++++----
 docs/apisix/2.8/plugins/proxy-rewrite/index.html     |  8 ++++----
 docs/apisix/2.8/plugins/redirect/index.html          |  8 ++++----
 .../2.8/plugins/referer-restriction/index.html       |  8 ++++----
 docs/apisix/2.8/plugins/request-id/index.html        |  8 ++++----
 .../apisix/2.8/plugins/request-validation/index.html |  8 ++++----
 docs/apisix/2.8/plugins/response-rewrite/index.html  |  8 ++++----
 docs/apisix/2.8/plugins/server-info/index.html       |  8 ++++----
 docs/apisix/2.8/plugins/serverless/index.html        |  8 ++++----
 docs/apisix/2.8/plugins/skywalking/index.html        |  8 ++++----
 docs/apisix/2.8/plugins/sls-logger/index.html        |  8 ++++----
 docs/apisix/2.8/plugins/syslog/index.html            |  8 ++++----
 docs/apisix/2.8/plugins/tcp-logger/index.html        |  8 ++++----
 docs/apisix/2.8/plugins/traffic-split/index.html     |  8 ++++----
 docs/apisix/2.8/plugins/ua-restriction/index.html    |  8 ++++----
 docs/apisix/2.8/plugins/udp-logger/index.html        |  8 ++++----
 docs/apisix/2.8/plugins/uri-blocker/index.html       |  8 ++++----
 docs/apisix/2.8/plugins/wolf-rbac/index.html         |  8 ++++----
 docs/apisix/2.8/plugins/zipkin/index.html            |  8 ++++----
 docs/apisix/2.8/powered-by/index.html                |  8 ++++----
 docs/apisix/2.8/profile/index.html                   |  8 ++++----
 docs/apisix/2.8/router-radixtree/index.html          |  8 ++++----
 docs/apisix/2.8/stand-alone/index.html               |  8 ++++----
 docs/apisix/2.8/stream-proxy/index.html              |  8 ++++----
 docs/apisix/FAQ/index.html                           |  8 ++++----
 docs/apisix/IGNORE_DOC/index.html                    |  8 ++++----
 docs/apisix/admin-api/index.html                     |  8 ++++----
 docs/apisix/architecture-design/apisix/index.html    |  8 ++++----
 docs/apisix/architecture-design/consumer/index.html  |  8 ++++----
 .../apisix/architecture-design/debug-mode/index.html |  8 ++++----
 .../architecture-design/global-rule/index.html       |  8 ++++----
 docs/apisix/architecture-design/index.html           |  8 ++++----
 .../architecture-design/plugin-config/index.html     |  8 ++++----
 docs/apisix/architecture-design/plugin/index.html    |  8 ++++----
 docs/apisix/architecture-design/route/index.html     |  8 ++++----
 docs/apisix/architecture-design/router/index.html    |  8 ++++----
 docs/apisix/architecture-design/script/index.html    |  8 ++++----
 docs/apisix/architecture-design/service/index.html   |  8 ++++----
 docs/apisix/architecture-design/upstream/index.html  |  8 ++++----
 docs/apisix/aws/index.html                           |  8 ++++----
 docs/apisix/batch-processor/index.html               |  8 ++++----
 docs/apisix/benchmark/index.html                     |  8 ++++----
 docs/apisix/certificate/index.html                   |  8 ++++----
 docs/apisix/control-api/index.html                   |  8 ++++----
 docs/apisix/customize-nginx-configuration/index.html |  8 ++++----
 docs/apisix/debug-function/index.html                |  8 ++++----
 docs/apisix/discovery/consul_kv/index.html           |  8 ++++----
 docs/apisix/discovery/dns/index.html                 |  8 ++++----
 docs/apisix/discovery/eureka/index.html              |  8 ++++----
 docs/apisix/discovery/index.html                     |  8 ++++----
 docs/apisix/discovery/nacos/index.html               |  8 ++++----
 docs/apisix/dns/index.html                           |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 docs/apisix/external-plugin/index.html               |  8 ++++----
 docs/apisix/getting-started/index.html               |  8 ++++----
 docs/apisix/grpc-proxy/index.html                    |  8 ++++----
 docs/apisix/health-check/index.html                  |  8 ++++----
 docs/apisix/how-to-build/index.html                  |  8 ++++----
 docs/apisix/https/index.html                         |  8 ++++----
 docs/apisix/install-dependencies/index.html          |  8 ++++----
 docs/apisix/internal/testing-framework/index.html    |  8 ++++----
 docs/apisix/mtls/index.html                          |  8 ++++----
 docs/apisix/next/FAQ/index.html                      |  8 ++++----
 docs/apisix/next/IGNORE_DOC/index.html               | 10 +++++-----
 docs/apisix/next/admin-api/index.html                |  8 ++++----
 .../next/architecture-design/apisix/index.html       |  8 ++++----
 .../next/architecture-design/consumer/index.html     |  8 ++++----
 .../next/architecture-design/debug-mode/index.html   |  8 ++++----
 .../next/architecture-design/global-rule/index.html  |  8 ++++----
 docs/apisix/next/architecture-design/index.html      |  8 ++++----
 .../architecture-design/plugin-config/index.html     |  8 ++++----
 .../next/architecture-design/plugin/index.html       |  8 ++++----
 .../apisix/next/architecture-design/route/index.html |  8 ++++----
 .../next/architecture-design/router/index.html       |  8 ++++----
 .../next/architecture-design/script/index.html       |  8 ++++----
 .../next/architecture-design/service/index.html      |  8 ++++----
 .../next/architecture-design/upstream/index.html     |  8 ++++----
 docs/apisix/next/aws/index.html                      |  8 ++++----
 docs/apisix/next/batch-processor/index.html          |  8 ++++----
 docs/apisix/next/benchmark/index.html                |  8 ++++----
 docs/apisix/next/certificate/index.html              |  8 ++++----
 docs/apisix/next/control-api/index.html              |  8 ++++----
 .../next/customize-nginx-configuration/index.html    |  8 ++++----
 docs/apisix/next/debug-function/index.html           |  8 ++++----
 docs/apisix/next/discovery/consul_kv/index.html      |  8 ++++----
 docs/apisix/next/discovery/dns/index.html            |  8 ++++----
 docs/apisix/next/discovery/eureka/index.html         |  8 ++++----
 docs/apisix/next/discovery/index.html                |  8 ++++----
 docs/apisix/next/discovery/nacos/index.html          |  8 ++++----
 docs/apisix/next/dns/index.html                      |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 docs/apisix/next/external-plugin/index.html          |  8 ++++----
 docs/apisix/next/getting-started/index.html          |  8 ++++----
 docs/apisix/next/grpc-proxy/index.html               |  8 ++++----
 docs/apisix/next/health-check/index.html             |  8 ++++----
 docs/apisix/next/how-to-build/index.html             |  8 ++++----
 docs/apisix/next/https/index.html                    |  8 ++++----
 docs/apisix/next/install-dependencies/index.html     |  8 ++++----
 .../next/internal/testing-framework/index.html       |  8 ++++----
 docs/apisix/next/mtls/index.html                     |  8 ++++----
 docs/apisix/next/plugin-develop/index.html           |  8 ++++----
 docs/apisix/next/plugin-interceptors/index.html      |  8 ++++----
 docs/apisix/next/plugins/api-breaker/index.html      |  8 ++++----
 docs/apisix/next/plugins/authz-casbin/index.html     |  8 ++++----
 docs/apisix/next/plugins/authz-keycloak/index.html   |  8 ++++----
 docs/apisix/next/plugins/basic-auth/index.html       |  8 ++++----
 docs/apisix/next/plugins/batch-requests/index.html   |  8 ++++----
 docs/apisix/next/plugins/client-control/index.html   |  8 ++++----
 .../next/plugins/consumer-restriction/index.html     |  8 ++++----
 docs/apisix/next/plugins/cors/index.html             |  8 ++++----
 docs/apisix/next/plugins/dubbo-proxy/index.html      |  8 ++++----
 docs/apisix/next/plugins/echo/index.html             |  8 ++++----
 docs/apisix/next/plugins/error-log-logger/index.html |  8 ++++----
 .../next/plugins/ext-plugin-post-req/index.html      |  8 ++++----
 .../next/plugins/ext-plugin-pre-req/index.html       |  8 ++++----
 docs/apisix/next/plugins/fault-injection/index.html  |  8 ++++----
 docs/apisix/next/plugins/grpc-transcode/index.html   |  8 ++++----
 docs/apisix/next/plugins/gzip/index.html             |  8 ++++----
 docs/apisix/next/plugins/hmac-auth/index.html        |  8 ++++----
 docs/apisix/next/plugins/http-logger/index.html      |  8 ++++----
 docs/apisix/next/plugins/index.html                  |  8 ++++----
 docs/apisix/next/plugins/ip-restriction/index.html   |  8 ++++----
 docs/apisix/next/plugins/jwt-auth/index.html         |  8 ++++----
 docs/apisix/next/plugins/kafka-logger/index.html     |  8 ++++----
 docs/apisix/next/plugins/key-auth/index.html         |  8 ++++----
 docs/apisix/next/plugins/limit-conn/index.html       |  8 ++++----
 docs/apisix/next/plugins/limit-count/index.html      |  8 ++++----
 docs/apisix/next/plugins/limit-req/index.html        |  8 ++++----
 docs/apisix/next/plugins/log-rotate/index.html       |  8 ++++----
 docs/apisix/next/plugins/mqtt-proxy/index.html       |  8 ++++----
 docs/apisix/next/plugins/node-status/index.html      |  8 ++++----
 docs/apisix/next/plugins/openid-connect/index.html   |  8 ++++----
 docs/apisix/next/plugins/prometheus/index.html       |  8 ++++----
 docs/apisix/next/plugins/proxy-cache/index.html      |  8 ++++----
 docs/apisix/next/plugins/proxy-mirror/index.html     |  8 ++++----
 docs/apisix/next/plugins/proxy-rewrite/index.html    |  8 ++++----
 docs/apisix/next/plugins/real-ip/index.html          |  8 ++++----
 docs/apisix/next/plugins/redirect/index.html         |  8 ++++----
 .../next/plugins/referer-restriction/index.html      |  8 ++++----
 docs/apisix/next/plugins/request-id/index.html       |  8 ++++----
 .../next/plugins/request-validation/index.html       |  8 ++++----
 docs/apisix/next/plugins/response-rewrite/index.html |  8 ++++----
 docs/apisix/next/plugins/server-info/index.html      |  8 ++++----
 docs/apisix/next/plugins/serverless/index.html       |  8 ++++----
 docs/apisix/next/plugins/skywalking/index.html       |  8 ++++----
 docs/apisix/next/plugins/sls-logger/index.html       |  8 ++++----
 docs/apisix/next/plugins/syslog/index.html           |  8 ++++----
 docs/apisix/next/plugins/tcp-logger/index.html       |  8 ++++----
 docs/apisix/next/plugins/traffic-split/index.html    |  8 ++++----
 docs/apisix/next/plugins/ua-restriction/index.html   |  8 ++++----
 docs/apisix/next/plugins/udp-logger/index.html       |  8 ++++----
 docs/apisix/next/plugins/uri-blocker/index.html      |  8 ++++----
 docs/apisix/next/plugins/wolf-rbac/index.html        |  8 ++++----
 docs/apisix/next/plugins/zipkin/index.html           |  8 ++++----
 docs/apisix/next/powered-by/index.html               |  8 ++++----
 docs/apisix/next/profile/index.html                  |  8 ++++----
 docs/apisix/next/router-radixtree/index.html         |  8 ++++----
 docs/apisix/next/stand-alone/index.html              |  8 ++++----
 docs/apisix/next/stream-proxy/index.html             |  8 ++++----
 docs/apisix/plugin-develop/index.html                |  8 ++++----
 docs/apisix/plugin-interceptors/index.html           |  8 ++++----
 docs/apisix/plugins/api-breaker/index.html           |  8 ++++----
 docs/apisix/plugins/authz-casbin/index.html          |  8 ++++----
 docs/apisix/plugins/authz-keycloak/index.html        |  8 ++++----
 docs/apisix/plugins/basic-auth/index.html            |  8 ++++----
 docs/apisix/plugins/batch-requests/index.html        |  8 ++++----
 docs/apisix/plugins/client-control/index.html        |  8 ++++----
 docs/apisix/plugins/consumer-restriction/index.html  |  8 ++++----
 docs/apisix/plugins/cors/index.html                  |  8 ++++----
 docs/apisix/plugins/dubbo-proxy/index.html           |  8 ++++----
 docs/apisix/plugins/echo/index.html                  |  8 ++++----
 docs/apisix/plugins/error-log-logger/index.html      |  8 ++++----
 docs/apisix/plugins/ext-plugin-post-req/index.html   |  8 ++++----
 docs/apisix/plugins/ext-plugin-pre-req/index.html    |  8 ++++----
 docs/apisix/plugins/fault-injection/index.html       |  8 ++++----
 docs/apisix/plugins/grpc-transcode/index.html        |  8 ++++----
 docs/apisix/plugins/gzip/index.html                  |  8 ++++----
 docs/apisix/plugins/hmac-auth/index.html             |  8 ++++----
 docs/apisix/plugins/http-logger/index.html           |  8 ++++----
 docs/apisix/plugins/index.html                       |  8 ++++----
 docs/apisix/plugins/ip-restriction/index.html        |  8 ++++----
 docs/apisix/plugins/jwt-auth/index.html              |  8 ++++----
 docs/apisix/plugins/kafka-logger/index.html          |  8 ++++----
 docs/apisix/plugins/key-auth/index.html              |  8 ++++----
 docs/apisix/plugins/limit-conn/index.html            |  8 ++++----
 docs/apisix/plugins/limit-count/index.html           |  8 ++++----
 docs/apisix/plugins/limit-req/index.html             |  8 ++++----
 docs/apisix/plugins/log-rotate/index.html            |  8 ++++----
 docs/apisix/plugins/mqtt-proxy/index.html            |  8 ++++----
 docs/apisix/plugins/node-status/index.html           |  8 ++++----
 docs/apisix/plugins/openid-connect/index.html        |  8 ++++----
 docs/apisix/plugins/prometheus/index.html            |  8 ++++----
 docs/apisix/plugins/proxy-cache/index.html           |  8 ++++----
 docs/apisix/plugins/proxy-mirror/index.html          |  8 ++++----
 docs/apisix/plugins/proxy-rewrite/index.html         |  8 ++++----
 docs/apisix/plugins/real-ip/index.html               |  8 ++++----
 docs/apisix/plugins/redirect/index.html              |  8 ++++----
 docs/apisix/plugins/referer-restriction/index.html   |  8 ++++----
 docs/apisix/plugins/request-id/index.html            |  8 ++++----
 docs/apisix/plugins/request-validation/index.html    |  8 ++++----
 docs/apisix/plugins/response-rewrite/index.html      |  8 ++++----
 docs/apisix/plugins/server-info/index.html           |  8 ++++----
 docs/apisix/plugins/serverless/index.html            |  8 ++++----
 docs/apisix/plugins/skywalking/index.html            |  8 ++++----
 docs/apisix/plugins/sls-logger/index.html            |  8 ++++----
 docs/apisix/plugins/syslog/index.html                |  8 ++++----
 docs/apisix/plugins/tcp-logger/index.html            |  8 ++++----
 docs/apisix/plugins/traffic-split/index.html         |  8 ++++----
 docs/apisix/plugins/ua-restriction/index.html        |  8 ++++----
 docs/apisix/plugins/udp-logger/index.html            |  8 ++++----
 docs/apisix/plugins/uri-blocker/index.html           |  8 ++++----
 docs/apisix/plugins/wolf-rbac/index.html             |  8 ++++----
 docs/apisix/plugins/zipkin/index.html                |  8 ++++----
 docs/apisix/powered-by/index.html                    |  8 ++++----
 docs/apisix/profile/index.html                       |  8 ++++----
 docs/apisix/router-radixtree/index.html              |  8 ++++----
 docs/apisix/stand-alone/index.html                   |  8 ++++----
 docs/apisix/stream-proxy/index.html                  |  8 ++++----
 docs/dashboard/2.5/FAQ/index.html                    |  8 ++++----
 docs/dashboard/2.5/I18N_USER_GUIDE/index.html        |  8 ++++----
 docs/dashboard/2.5/IGNORE_DOC/index.html             |  8 ++++----
 .../2.5/IMPORT_OPENAPI_USER_GUIDE/index.html         |  8 ++++----
 docs/dashboard/2.5/USER_GUIDE/index.html             |  8 ++++----
 docs/dashboard/2.5/api/api/index.html                |  8 ++++----
 docs/dashboard/2.5/back-end-tests/index.html         |  8 ++++----
 docs/dashboard/2.5/deploy-with-docker/index.html     |  8 ++++----
 docs/dashboard/2.5/deploy-with-rpm/index.html        |  8 ++++----
 docs/dashboard/2.5/deploy/index.html                 |  8 ++++----
 docs/dashboard/2.5/develop/index.html                |  8 ++++----
 docs/dashboard/2.5/front-end-e2e/index.html          |  8 ++++----
 docs/dashboard/2.6.1/FAQ/index.html                  |  8 ++++----
 docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html      |  8 ++++----
 docs/dashboard/2.6.1/IGNORE_DOC/index.html           |  8 ++++----
 .../2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html       |  8 ++++----
 docs/dashboard/2.6.1/USER_GUIDE/index.html           |  8 ++++----
 docs/dashboard/2.6.1/api/api/index.html              |  8 ++++----
 docs/dashboard/2.6.1/back-end-tests/index.html       |  8 ++++----
 docs/dashboard/2.6.1/deploy-with-docker/index.html   |  8 ++++----
 docs/dashboard/2.6.1/deploy-with-rpm/index.html      |  8 ++++----
 docs/dashboard/2.6.1/deploy/index.html               |  8 ++++----
 docs/dashboard/2.6.1/develop/index.html              |  8 ++++----
 docs/dashboard/2.6.1/front-end-e2e/index.html        |  8 ++++----
 docs/dashboard/2.6/FAQ/index.html                    |  8 ++++----
 docs/dashboard/2.6/I18N_USER_GUIDE/index.html        |  8 ++++----
 docs/dashboard/2.6/IGNORE_DOC/index.html             |  8 ++++----
 .../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html         |  8 ++++----
 docs/dashboard/2.6/USER_GUIDE/index.html             |  8 ++++----
 docs/dashboard/2.6/api/api/index.html                |  8 ++++----
 docs/dashboard/2.6/back-end-tests/index.html         |  8 ++++----
 docs/dashboard/2.6/deploy-with-docker/index.html     |  8 ++++----
 docs/dashboard/2.6/deploy-with-rpm/index.html        |  8 ++++----
 docs/dashboard/2.6/deploy/index.html                 |  8 ++++----
 docs/dashboard/2.6/develop/index.html                |  8 ++++----
 docs/dashboard/2.6/front-end-e2e/index.html          |  8 ++++----
 docs/dashboard/2.7/FAQ/index.html                    |  8 ++++----
 docs/dashboard/2.7/I18N_USER_GUIDE/index.html        |  8 ++++----
 docs/dashboard/2.7/IGNORE_DOC/index.html             |  8 ++++----
 .../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html         |  8 ++++----
 docs/dashboard/2.7/USER_GUIDE/index.html             |  8 ++++----
 docs/dashboard/2.7/api/api/index.html                |  8 ++++----
 docs/dashboard/2.7/back-end-tests/index.html         |  8 ++++----
 docs/dashboard/2.7/deploy-with-docker/index.html     |  8 ++++----
 docs/dashboard/2.7/deploy-with-rpm/index.html        |  8 ++++----
 docs/dashboard/2.7/deploy/index.html                 |  8 ++++----
 docs/dashboard/2.7/develop/index.html                |  8 ++++----
 docs/dashboard/2.7/front-end-e2e/index.html          |  8 ++++----
 docs/dashboard/FAQ/index.html                        |  8 ++++----
 docs/dashboard/I18N_USER_GUIDE/index.html            |  8 ++++----
 docs/dashboard/IGNORE_DOC/index.html                 |  8 ++++----
 docs/dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html  |  8 ++++----
 docs/dashboard/USER_GUIDE/index.html                 |  8 ++++----
 docs/dashboard/api/api/index.html                    |  8 ++++----
 docs/dashboard/back-end-tests/index.html             |  8 ++++----
 docs/dashboard/deploy-with-docker/index.html         |  8 ++++----
 docs/dashboard/deploy-with-rpm/index.html            |  8 ++++----
 docs/dashboard/deploy/index.html                     |  8 ++++----
 docs/dashboard/develop/index.html                    |  8 ++++----
 docs/dashboard/front-end-e2e/index.html              |  8 ++++----
 docs/dashboard/next/FAQ/index.html                   |  8 ++++----
 docs/dashboard/next/I18N_USER_GUIDE/index.html       |  8 ++++----
 docs/dashboard/next/IGNORE_DOC/index.html            | 10 +++++-----
 .../next/IMPORT_OPENAPI_USER_GUIDE/index.html        |  8 ++++----
 docs/dashboard/next/USER_GUIDE/index.html            |  8 ++++----
 docs/dashboard/next/api/api/index.html               |  8 ++++----
 docs/dashboard/next/back-end-tests/index.html        |  8 ++++----
 docs/dashboard/next/deploy-with-docker/index.html    |  8 ++++----
 docs/dashboard/next/deploy-with-rpm/index.html       |  8 ++++----
 docs/dashboard/next/deploy/index.html                |  8 ++++----
 docs/dashboard/next/develop/index.html               |  8 ++++----
 docs/dashboard/next/front-end-e2e/index.html         |  8 ++++----
 docs/docker/IGNORE_DOC/index.html                    |  8 ++++----
 docs/docker/build/index.html                         |  8 ++++----
 docs/docker/example/index.html                       |  8 ++++----
 docs/docker/manual/index.html                        |  8 ++++----
 docs/docker/next/IGNORE_DOC/index.html               | 10 +++++-----
 docs/docker/next/build/index.html                    |  8 ++++----
 docs/docker/next/example/index.html                  |  8 ++++----
 docs/docker/next/manual/index.html                   |  8 ++++----
 docs/general/2fa/index.html                          | 10 +++++-----
 docs/general/committer-guide/index.html              | 10 +++++-----
 docs/general/contributor-guide/index.html            | 10 +++++-----
 docs/general/integrate-with-project-docs/index.html  | 10 +++++-----
 docs/general/release-guide/index.html                | 10 +++++-----
 docs/general/security/index.html                     | 10 +++++-----
 docs/general/subscribe-guide/index.html              | 10 +++++-----
 docs/go-plugin-runner/IGNORE_DOC/index.html          |  8 ++++----
 docs/go-plugin-runner/developer-guide/index.html     |  8 ++++----
 docs/go-plugin-runner/getting-started/index.html     |  8 ++++----
 docs/go-plugin-runner/next/IGNORE_DOC/index.html     | 10 +++++-----
 .../go-plugin-runner/next/developer-guide/index.html |  8 ++++----
 .../go-plugin-runner/next/getting-started/index.html |  8 ++++----
 docs/helm-chart/FAQ/index.html                       |  8 ++++----
 docs/helm-chart/IGNORE_DOC/index.html                | 10 +++++-----
 docs/helm-chart/apisix-dashboard/index.html          |  8 ++++----
 docs/helm-chart/apisix-ingress-controller/index.html |  8 ++++----
 docs/helm-chart/apisix/index.html                    |  8 ++++----
 docs/index.html                                      |  8 ++++----
 docs/ingress-controller/FAQ/index.html               |  8 ++++----
 docs/ingress-controller/IGNORE_DOC/index.html        | 10 +++++-----
 .../concepts/annotations/index.html                  |  8 ++++----
 .../concepts/apisix_cluster_config/index.html        |  8 ++++----
 .../concepts/apisix_route/index.html                 |  8 ++++----
 .../concepts/apisix_tls/index.html                   |  8 ++++----
 .../concepts/apisix_upstream/index.html              |  8 ++++----
 docs/ingress-controller/contribute/index.html        |  8 ++++----
 docs/ingress-controller/deployments/ack/index.html   |  8 ++++----
 docs/ingress-controller/deployments/aws/index.html   |  8 ++++----
 docs/ingress-controller/deployments/azure/index.html |  8 ++++----
 docs/ingress-controller/deployments/gke/index.html   |  8 ++++----
 .../deployments/k3s-rke/index.html                   |  8 ++++----
 .../deployments/kubesphere/index.html                |  8 ++++----
 .../deployments/minikube/index.html                  |  8 ++++----
 docs/ingress-controller/deployments/tke/index.html   |  8 ++++----
 docs/ingress-controller/design/index.html            |  8 ++++----
 docs/ingress-controller/development/index.html       |  8 ++++----
 docs/ingress-controller/getting-started/index.html   |  8 ++++----
 .../practices/check-crd-status/index.html            |  8 ++++----
 docs/ingress-controller/practices/index/index.html   |  8 ++++----
 docs/ingress-controller/practices/mtls/index.html    |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../practices/proxy-the-httpbin-service/index.html   |  8 ++++----
 .../practices/the-hard-way/index.html                |  8 ++++----
 .../references/apisix_cluster_config/index.html      |  8 ++++----
 .../references/apisix_route_v1/index.html            |  8 ++++----
 .../references/apisix_route_v2alpha1/index.html      |  8 ++++----
 .../references/apisix_route_v2beta1/index.html       |  8 ++++----
 .../references/apisix_tls/index.html                 |  8 ++++----
 .../references/apisix_upstream/index.html            |  8 ++++----
 docs/java-plugin-runner/IGNORE_DOC/index.html        |  8 ++++----
 docs/java-plugin-runner/development/index.html       |  8 ++++----
 docs/java-plugin-runner/how-it-works/index.html      |  8 ++++----
 docs/java-plugin-runner/next/IGNORE_DOC/index.html   | 10 +++++-----
 docs/java-plugin-runner/next/development/index.html  |  8 ++++----
 docs/java-plugin-runner/next/how-it-works/index.html |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 downloads/ProjectCard/index.html                     |  8 ++++----
 downloads/index.html                                 |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/02/09/release-apache-apisix-2.3/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../release-apache-apisix-dashboard-2.4/index.html   |  8 ++++----
 .../2021/03/05/release-apache-apisix-2.4/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/04/05/release-apache-apisix-2.5/index.html  |  8 ++++----
 .../release-apisix-ingress-controller-0.5/index.html |  8 ++++----
 .../release-apache-apisix-dashboard-2.6/index.html   |  8 ++++----
 .../2021/05/24/release-apache-apisix-2.6/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-2.6.1/index.html |  8 ++++----
 .../release-apache-apisix-dashboard-2.7/index.html   |  8 ++++----
 .../2021/06/25/release-apache-apisix-2.7/index.html  |  8 ++++----
 events/2021/08/19/weekly-report/index.html           |  8 ++++----
 events/2021/08/21/shanghai-meetup/index.html         |  8 ++++----
 events/2021/08/23/ApacheCon-Asia-2021/index.html     |  8 ++++----
 events/2021/08/23/weekly-report/index.html           |  8 ++++----
 events/index.html                                    |  8 ++++----
 events/page/2/index.html                             |  8 ++++----
 help/index.html                                      |  8 ++++----
 index.html                                           |  8 ++++----
 plugins/index.html                                   |  8 ++++----
 .../2019/09/06/release-apache-apisix-0.7/index.html  |  8 ++++----
 .../2019/09/29/release-apache-apisix-0.8/index.html  |  8 ++++----
 .../2019/11/15/release-apache-apisix-0.9/index.html  |  8 ++++----
 .../2020/01/15/release-apache-apisix-1.0/index.html  |  8 ++++----
 .../2020/02/24/release-apache-apisix-1.1/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-1.0/index.html   |  8 ++++----
 .../2020/04/20/release-apache-apisix-1.2/index.html  |  8 ++++----
 .../2020/05/26/release-apache-apisix-1.3/index.html  |  8 ++++----
 .../2020/06/30/release-apache-apisix-1.4/index.html  |  8 ++++----
 .../07/20/release-apache-apisix-1.4.1/index.html     |  8 ++++----
 .../2020/08/06/release-apache-apisix-1.5/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-1.5/index.html   |  8 ++++----
 .../2020/10/28/release-apache-apisix-2.0/index.html  |  8 ++++----
 .../2020/12/01/release-apache-apisix-2.1/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-2.2/index.html   |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/01/08/release-apache-apisix-2.2/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-2.3/index.html   |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/02/09/release-apache-apisix-2.3/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../release-apache-apisix-dashboard-2.4/index.html   |  8 ++++----
 .../2021/03/05/release-apache-apisix-2.4/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../release-apache-apisix-dashboard-2.5/index.html   |  8 ++++----
 .../2021/04/05/release-apache-apisix-2.5/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../release-apache-apisix-dashboard-2.6/index.html   |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/05/24/release-apache-apisix-2.6/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-2.6.1/index.html |  8 ++++----
 .../release-apache-apisix-dashboard-2.7/index.html   |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/06/25/release-apache-apisix-2.7/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/07/27/release-apache-apisix-2.8/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-2.7.1/index.html |  8 ++++----
 .../index.html                                       |  8 ++++----
 releases/index.html                                  |  8 ++++----
 releases/page/2/index.html                           |  8 ++++----
 releases/page/3/index.html                           |  8 ++++----
 releases/page/4/index.html                           |  8 ++++----
 releases/tags/apisix-dashboard/index.html            |  8 ++++----
 releases/tags/apisix-go-plugin-runner/index.html     |  8 ++++----
 releases/tags/apisix-ingress-controller/index.html   |  8 ++++----
 releases/tags/apisix-java-plugin-runner/index.html   |  8 ++++----
 releases/tags/apisix/index.html                      |  8 ++++----
 releases/tags/index.html                             |  8 ++++----
 search/index.html                                    |  8 ++++----
 team/index.html                                      |  8 ++++----
 zh/404.html                                          |  8 ++++----
 .../index.html                                       | 10 +++++-----
 .../index.html                                       | 10 +++++-----
 .../Apache-APISIX-Incubator-Journey/index.html       | 10 +++++-----
 .../Apache-APISIX-Kubernetes-Ingress/index.html      | 10 +++++-----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html   | 10 +++++-----
 .../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/atom.xml                                 | 20 ++++++++++----------
 zh/articles/index.html                               | 10 +++++-----
 zh/articles/page/2/index.html                        | 10 +++++-----
 zh/articles/rss.xml                                  | 20 ++++++++++----------
 zh/assets/js/09b17eb5.315849c1.js                    |  1 -
 zh/assets/js/09b17eb5.c04791d1.js                    |  1 +
 zh/assets/js/10c2f2ec.bcb647ff.js                    |  1 +
 zh/assets/js/10c2f2ec.ed05a137.js                    |  1 -
 zh/assets/js/150a263f.724cff67.js                    |  1 +
 zh/assets/js/150a263f.a031174b.js                    |  1 -
 zh/assets/js/19945770.0913a7d9.js                    |  1 +
 zh/assets/js/19945770.1bc3df2d.js                    |  1 -
 zh/assets/js/1c51fb76.ed7102c3.js                    |  1 +
 zh/assets/js/1c51fb76.fbe14539.js                    |  1 -
 zh/assets/js/20510dec.a3ef9500.js                    |  1 -
 zh/assets/js/20510dec.b4fcc209.js                    |  1 +
 zh/assets/js/2164351d.3fc97e35.js                    |  1 -
 zh/assets/js/2164351d.d3d80dd3.js                    |  1 +
 zh/assets/js/2a6ac083.4c1dbe59.js                    |  1 +
 zh/assets/js/2a6ac083.a16d9a66.js                    |  1 -
 zh/assets/js/3393d167.1695afcf.js                    |  1 -
 zh/assets/js/3393d167.dbe080b2.js                    |  1 +
 zh/assets/js/358566b4.8f650e2e.js                    |  1 +
 zh/assets/js/358566b4.d8131170.js                    |  1 -
 zh/assets/js/3dc9f306.3e471f6a.js                    |  1 -
 zh/assets/js/3dc9f306.8ddcc117.js                    |  1 +
 zh/assets/js/40fb2fae.4a83795e.js                    |  1 +
 zh/assets/js/40fb2fae.63c9bbec.js                    |  1 -
 zh/assets/js/4c20006b.583a9107.js                    |  1 -
 zh/assets/js/4c20006b.5a729767.js                    |  1 +
 zh/assets/js/4d194b10.90883d91.js                    |  1 +
 zh/assets/js/4d194b10.f075a28d.js                    |  1 -
 zh/assets/js/4ffe1038.72c17e83.js                    |  1 -
 zh/assets/js/4ffe1038.7fa9c35e.js                    |  1 +
 zh/assets/js/50facf8e.5f5f2a1b.js                    |  1 -
 zh/assets/js/50facf8e.6c45332d.js                    |  1 +
 zh/assets/js/542fd41f.559c6b24.js                    |  1 +
 zh/assets/js/542fd41f.7681ae40.js                    |  1 -
 zh/assets/js/5dab7861.d160367b.js                    |  1 +
 zh/assets/js/5dab7861.e8e68694.js                    |  1 -
 zh/assets/js/601c6eaa.1f353004.js                    |  1 +
 zh/assets/js/601c6eaa.6a29efdc.js                    |  1 -
 zh/assets/js/66fbb9c2.dfa3a908.js                    |  1 -
 zh/assets/js/66fbb9c2.f72d5524.js                    |  1 +
 zh/assets/js/70cee07f.aa0b1864.js                    |  1 -
 zh/assets/js/70cee07f.eef61346.js                    |  1 +
 zh/assets/js/7969b7e9.4d198cbe.js                    |  1 +
 zh/assets/js/7969b7e9.aa0407dc.js                    |  1 -
 zh/assets/js/7af3052c.4610f979.js                    |  1 +
 zh/assets/js/7af3052c.a47b855d.js                    |  1 -
 zh/assets/js/8e784bf3.6335fcb3.js                    |  1 -
 zh/assets/js/8e784bf3.ccf5ef2b.js                    |  1 +
 zh/assets/js/8eb00467.1c5ca1e3.js                    |  1 +
 zh/assets/js/8eb00467.8eed6d56.js                    |  1 -
 zh/assets/js/8f700fa6.466b0c40.js                    |  1 -
 zh/assets/js/8f700fa6.dcb7156f.js                    |  1 +
 zh/assets/js/90fc8a94.2a3563ac.js                    |  1 -
 zh/assets/js/90fc8a94.495cbbc2.js                    |  1 +
 zh/assets/js/92b17a50.144ca8ba.js                    |  1 +
 zh/assets/js/92b17a50.14d92090.js                    |  1 -
 zh/assets/js/941960b1.90b114c8.js                    |  1 -
 zh/assets/js/941960b1.cb3e3193.js                    |  1 +
 zh/assets/js/9845a4c8.5e6cbb1c.js                    |  1 +
 zh/assets/js/9845a4c8.efa62388.js                    |  1 -
 zh/assets/js/9aae17b7.05c65c5b.js                    |  1 -
 zh/assets/js/9aae17b7.343c28c1.js                    |  1 +
 zh/assets/js/adbb350b.1c75f6e1.js                    |  1 -
 zh/assets/js/adbb350b.228da639.js                    |  1 +
 zh/assets/js/b6021c6a.163a73ce.js                    |  1 -
 zh/assets/js/b6021c6a.b6255860.js                    |  1 +
 zh/assets/js/c4efd965.a0d2ee5b.js                    |  1 +
 zh/assets/js/c4efd965.bf630ed5.js                    |  1 -
 zh/assets/js/cb56db36.1c720516.js                    |  1 +
 zh/assets/js/cb56db36.e459d04d.js                    |  1 -
 zh/assets/js/d18db9b0.91a0f8c4.js                    |  1 -
 zh/assets/js/d18db9b0.92f0940c.js                    |  1 +
 zh/assets/js/d3b10994.02d04e25.js                    |  1 +
 zh/assets/js/d3b10994.64769e38.js                    |  1 -
 zh/assets/js/da052172.02c01d62.js                    |  1 -
 zh/assets/js/da052172.70a37d14.js                    |  1 +
 zh/assets/js/e188de42.1fde1c58.js                    |  1 +
 zh/assets/js/e188de42.f6cc1f3a.js                    |  1 -
 zh/assets/js/f7c0b0ac.12cadf8e.js                    |  1 -
 zh/assets/js/f7c0b0ac.ef573e49.js                    |  1 +
 zh/assets/js/main.57c95f4d.js                        |  2 --
 zh/assets/js/main.8612d382.js                        |  2 ++
 .../assets/js/main.8612d382.js.LICENSE.txt           |  0
 zh/assets/js/runtime~main.5b9f5ecf.js                |  1 +
 zh/assets/js/runtime~main.9bc4c2e0.js                |  1 -
 zh/blog/2020/08/22/new-website/index.html            |  8 ++++----
 .../another-way-to-implement-envoy-filter/index.html |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../21/run-ingress-apisix-on-amazon-eks/index.html   |  8 ++++----
 .../stable-product-delivery-with-cypress/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html"                                      |  8 ++++----
 .../index.html"                                      |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../06/29/release-apache-apisix-2.7-en/index.html    |  8 ++++----
 .../2021/06/29/release-apache-apisix-2.7/index.html  |  8 ++++----
 .../etcd3-support-HTTP-access-perfectly/index.html   |  8 ++++----
 .../2021/07/06/celebrate-200-contributors/index.html |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../07/28/release-apache-apisix-2.8-en/index.html    |  8 ++++----
 .../2021/07/28/release-apache-apisix-2.8/index.html  |  8 ++++----
 zh/blog/2021/08/05/Kong-to-APISIX/index.html         |  8 ++++----
 .../Apache-APISIX-in-China-Mobile-Cloud/index.html   |  8 ++++----
 zh/blog/2021/08/11/interview-TuZhengsong/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../18/Auth-with-Casbin-in-Apache-APISIX/index.html  |  8 ++++----
 .../08/19/go-makes-Apache-APISIX-better/index.html   |  8 ++++----
 zh/blog/index.html                                   |  8 ++++----
 zh/blog/page/2/index.html                            |  8 ++++----
 zh/blog/page/3/index.html                            |  8 ++++----
 zh/blog/page/4/index.html                            |  8 ++++----
 zh/docs/apisix/2.4/FAQ/index.html                    |  8 ++++----
 zh/docs/apisix/2.4/IGNORE_DOC/index.html             |  8 ++++----
 zh/docs/apisix/2.4/admin-api/index.html              |  8 ++++----
 zh/docs/apisix/2.4/architecture-design/index.html    |  8 ++++----
 zh/docs/apisix/2.4/aws/index.html                    |  8 ++++----
 zh/docs/apisix/2.4/batch-processor/index.html        |  8 ++++----
 zh/docs/apisix/2.4/benchmark/index.html              |  8 ++++----
 zh/docs/apisix/2.4/control-api/index.html            |  8 ++++----
 .../2.4/customize-nginx-configuration/index.html     |  8 ++++----
 zh/docs/apisix/2.4/debug-function/index.html         |  8 ++++----
 zh/docs/apisix/2.4/discovery/consul_kv/index.html    |  8 ++++----
 zh/docs/apisix/2.4/discovery/index.html              |  8 ++++----
 zh/docs/apisix/2.4/dns/index.html                    |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 zh/docs/apisix/2.4/getting-started/index.html        |  8 ++++----
 zh/docs/apisix/2.4/grpc-proxy/index.html             |  8 ++++----
 zh/docs/apisix/2.4/health-check/index.html           |  8 ++++----
 zh/docs/apisix/2.4/how-to-build/index.html           |  8 ++++----
 zh/docs/apisix/2.4/https/index.html                  |  8 ++++----
 zh/docs/apisix/2.4/install-dependencies/index.html   |  8 ++++----
 zh/docs/apisix/2.4/mtls/index.html                   |  8 ++++----
 zh/docs/apisix/2.4/plugin-develop/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugin-interceptors/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/api-breaker/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/authz-keycloak/index.html |  8 ++++----
 zh/docs/apisix/2.4/plugins/basic-auth/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/batch-requests/index.html |  8 ++++----
 .../2.4/plugins/consumer-restriction/index.html      |  8 ++++----
 zh/docs/apisix/2.4/plugins/cors/index.html           |  8 ++++----
 zh/docs/apisix/2.4/plugins/dubbo-proxy/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/echo/index.html           |  8 ++++----
 .../apisix/2.4/plugins/error-log-logger/index.html   |  8 ++++----
 .../apisix/2.4/plugins/fault-injection/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/grpc-transcode/index.html |  8 ++++----
 zh/docs/apisix/2.4/plugins/hmac-auth/index.html      |  8 ++++----
 zh/docs/apisix/2.4/plugins/http-logger/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/index.html                |  8 ++++----
 zh/docs/apisix/2.4/plugins/ip-restriction/index.html |  8 ++++----
 zh/docs/apisix/2.4/plugins/jwt-auth/index.html       |  8 ++++----
 zh/docs/apisix/2.4/plugins/kafka-logger/index.html   |  8 ++++----
 zh/docs/apisix/2.4/plugins/key-auth/index.html       |  8 ++++----
 zh/docs/apisix/2.4/plugins/limit-conn/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/limit-count/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/limit-req/index.html      |  8 ++++----
 zh/docs/apisix/2.4/plugins/log-rotate/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/mqtt-proxy/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/node-status/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/openid-connect/index.html |  8 ++++----
 zh/docs/apisix/2.4/plugins/prometheus/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/proxy-cache/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/proxy-mirror/index.html   |  8 ++++----
 zh/docs/apisix/2.4/plugins/proxy-rewrite/index.html  |  8 ++++----
 zh/docs/apisix/2.4/plugins/redirect/index.html       |  8 ++++----
 .../2.4/plugins/referer-restriction/index.html       |  8 ++++----
 zh/docs/apisix/2.4/plugins/request-id/index.html     |  8 ++++----
 .../apisix/2.4/plugins/request-validation/index.html |  8 ++++----
 .../apisix/2.4/plugins/response-rewrite/index.html   |  8 ++++----
 zh/docs/apisix/2.4/plugins/server-info/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/serverless/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/skywalking/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/sls-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/syslog/index.html         |  8 ++++----
 zh/docs/apisix/2.4/plugins/tcp-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/traffic-split/index.html  |  8 ++++----
 zh/docs/apisix/2.4/plugins/udp-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.4/plugins/uri-blocker/index.html    |  8 ++++----
 zh/docs/apisix/2.4/plugins/wolf-rbac/index.html      |  8 ++++----
 zh/docs/apisix/2.4/plugins/zipkin/index.html         |  8 ++++----
 zh/docs/apisix/2.4/powered-by/index.html             |  8 ++++----
 zh/docs/apisix/2.4/profile/index.html                |  8 ++++----
 zh/docs/apisix/2.4/router-radixtree/index.html       |  8 ++++----
 zh/docs/apisix/2.4/stand-alone/index.html            |  8 ++++----
 zh/docs/apisix/2.4/stream-proxy/index.html           |  8 ++++----
 zh/docs/apisix/2.5/FAQ/index.html                    |  8 ++++----
 zh/docs/apisix/2.5/IGNORE_DOC/index.html             |  8 ++++----
 zh/docs/apisix/2.5/admin-api/index.html              |  8 ++++----
 .../apisix/2.5/architecture-design/apisix/index.html |  8 ++++----
 .../2.5/architecture-design/consumer/index.html      |  8 ++++----
 .../2.5/architecture-design/debug-mode/index.html    |  8 ++++----
 .../2.5/architecture-design/global-rule/index.html   |  8 ++++----
 zh/docs/apisix/2.5/architecture-design/index.html    |  8 ++++----
 .../2.5/architecture-design/plugin-config/index.html |  8 ++++----
 .../apisix/2.5/architecture-design/plugin/index.html |  8 ++++----
 .../apisix/2.5/architecture-design/route/index.html  |  8 ++++----
 .../apisix/2.5/architecture-design/router/index.html |  8 ++++----
 .../apisix/2.5/architecture-design/script/index.html |  8 ++++----
 .../2.5/architecture-design/service/index.html       |  8 ++++----
 .../2.5/architecture-design/upstream/index.html      |  8 ++++----
 zh/docs/apisix/2.5/aws/index.html                    |  8 ++++----
 zh/docs/apisix/2.5/batch-processor/index.html        |  8 ++++----
 zh/docs/apisix/2.5/benchmark/index.html              |  8 ++++----
 zh/docs/apisix/2.5/control-api/index.html            |  8 ++++----
 .../2.5/customize-nginx-configuration/index.html     |  8 ++++----
 zh/docs/apisix/2.5/debug-function/index.html         |  8 ++++----
 zh/docs/apisix/2.5/discovery/consul_kv/index.html    |  8 ++++----
 zh/docs/apisix/2.5/discovery/dns/index.html          |  8 ++++----
 zh/docs/apisix/2.5/discovery/index.html              |  8 ++++----
 zh/docs/apisix/2.5/dns/index.html                    |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 zh/docs/apisix/2.5/getting-started/index.html        |  8 ++++----
 zh/docs/apisix/2.5/grpc-proxy/index.html             |  8 ++++----
 zh/docs/apisix/2.5/health-check/index.html           |  8 ++++----
 zh/docs/apisix/2.5/how-to-build/index.html           |  8 ++++----
 zh/docs/apisix/2.5/https/index.html                  |  8 ++++----
 zh/docs/apisix/2.5/install-dependencies/index.html   |  8 ++++----
 zh/docs/apisix/2.5/mtls/index.html                   |  8 ++++----
 zh/docs/apisix/2.5/plugin-develop/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugin-interceptors/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/api-breaker/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/authz-keycloak/index.html |  8 ++++----
 zh/docs/apisix/2.5/plugins/basic-auth/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/batch-requests/index.html |  8 ++++----
 .../2.5/plugins/consumer-restriction/index.html      |  8 ++++----
 zh/docs/apisix/2.5/plugins/cors/index.html           |  8 ++++----
 zh/docs/apisix/2.5/plugins/dubbo-proxy/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/echo/index.html           |  8 ++++----
 .../apisix/2.5/plugins/error-log-logger/index.html   |  8 ++++----
 .../apisix/2.5/plugins/fault-injection/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/grpc-transcode/index.html |  8 ++++----
 zh/docs/apisix/2.5/plugins/hmac-auth/index.html      |  8 ++++----
 zh/docs/apisix/2.5/plugins/http-logger/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/index.html                |  8 ++++----
 zh/docs/apisix/2.5/plugins/ip-restriction/index.html |  8 ++++----
 zh/docs/apisix/2.5/plugins/jwt-auth/index.html       |  8 ++++----
 zh/docs/apisix/2.5/plugins/kafka-logger/index.html   |  8 ++++----
 zh/docs/apisix/2.5/plugins/key-auth/index.html       |  8 ++++----
 zh/docs/apisix/2.5/plugins/limit-conn/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/limit-count/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/limit-req/index.html      |  8 ++++----
 zh/docs/apisix/2.5/plugins/log-rotate/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/mqtt-proxy/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/node-status/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/openid-connect/index.html |  8 ++++----
 zh/docs/apisix/2.5/plugins/prometheus/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/proxy-cache/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/proxy-mirror/index.html   |  8 ++++----
 zh/docs/apisix/2.5/plugins/proxy-rewrite/index.html  |  8 ++++----
 zh/docs/apisix/2.5/plugins/redirect/index.html       |  8 ++++----
 .../2.5/plugins/referer-restriction/index.html       |  8 ++++----
 zh/docs/apisix/2.5/plugins/request-id/index.html     |  8 ++++----
 .../apisix/2.5/plugins/request-validation/index.html |  8 ++++----
 .../apisix/2.5/plugins/response-rewrite/index.html   |  8 ++++----
 zh/docs/apisix/2.5/plugins/server-info/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/serverless/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/skywalking/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/sls-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/syslog/index.html         |  8 ++++----
 zh/docs/apisix/2.5/plugins/tcp-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/traffic-split/index.html  |  8 ++++----
 zh/docs/apisix/2.5/plugins/udp-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.5/plugins/uri-blocker/index.html    |  8 ++++----
 zh/docs/apisix/2.5/plugins/wolf-rbac/index.html      |  8 ++++----
 zh/docs/apisix/2.5/plugins/zipkin/index.html         |  8 ++++----
 zh/docs/apisix/2.5/powered-by/index.html             |  8 ++++----
 zh/docs/apisix/2.5/profile/index.html                |  8 ++++----
 zh/docs/apisix/2.5/router-radixtree/index.html       |  8 ++++----
 zh/docs/apisix/2.5/stand-alone/index.html            |  8 ++++----
 zh/docs/apisix/2.5/stream-proxy/index.html           |  8 ++++----
 zh/docs/apisix/2.6/FAQ/index.html                    |  8 ++++----
 zh/docs/apisix/2.6/IGNORE_DOC/index.html             |  8 ++++----
 zh/docs/apisix/2.6/admin-api/index.html              |  8 ++++----
 .../apisix/2.6/architecture-design/apisix/index.html |  8 ++++----
 .../2.6/architecture-design/consumer/index.html      |  8 ++++----
 .../2.6/architecture-design/debug-mode/index.html    |  8 ++++----
 .../2.6/architecture-design/global-rule/index.html   |  8 ++++----
 zh/docs/apisix/2.6/architecture-design/index.html    |  8 ++++----
 .../2.6/architecture-design/plugin-config/index.html |  8 ++++----
 .../apisix/2.6/architecture-design/plugin/index.html |  8 ++++----
 .../apisix/2.6/architecture-design/route/index.html  |  8 ++++----
 .../apisix/2.6/architecture-design/router/index.html |  8 ++++----
 .../apisix/2.6/architecture-design/script/index.html |  8 ++++----
 .../2.6/architecture-design/service/index.html       |  8 ++++----
 .../2.6/architecture-design/upstream/index.html      |  8 ++++----
 zh/docs/apisix/2.6/aws/index.html                    |  8 ++++----
 zh/docs/apisix/2.6/batch-processor/index.html        |  8 ++++----
 zh/docs/apisix/2.6/benchmark/index.html              |  8 ++++----
 zh/docs/apisix/2.6/control-api/index.html            |  8 ++++----
 .../2.6/customize-nginx-configuration/index.html     |  8 ++++----
 zh/docs/apisix/2.6/debug-function/index.html         |  8 ++++----
 zh/docs/apisix/2.6/discovery/consul_kv/index.html    |  8 ++++----
 zh/docs/apisix/2.6/discovery/dns/index.html          |  8 ++++----
 zh/docs/apisix/2.6/discovery/eureka/index.html       |  8 ++++----
 zh/docs/apisix/2.6/discovery/index.html              |  8 ++++----
 zh/docs/apisix/2.6/discovery/nacos/index.html        |  8 ++++----
 zh/docs/apisix/2.6/dns/index.html                    |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 zh/docs/apisix/2.6/getting-started/index.html        |  8 ++++----
 zh/docs/apisix/2.6/grpc-proxy/index.html             |  8 ++++----
 zh/docs/apisix/2.6/health-check/index.html           |  8 ++++----
 zh/docs/apisix/2.6/how-to-build/index.html           |  8 ++++----
 zh/docs/apisix/2.6/https/index.html                  |  8 ++++----
 zh/docs/apisix/2.6/install-dependencies/index.html   |  8 ++++----
 zh/docs/apisix/2.6/mtls/index.html                   |  8 ++++----
 zh/docs/apisix/2.6/plugin-develop/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugin-interceptors/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/api-breaker/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/authz-keycloak/index.html |  8 ++++----
 zh/docs/apisix/2.6/plugins/basic-auth/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/batch-requests/index.html |  8 ++++----
 .../2.6/plugins/consumer-restriction/index.html      |  8 ++++----
 zh/docs/apisix/2.6/plugins/cors/index.html           |  8 ++++----
 zh/docs/apisix/2.6/plugins/dubbo-proxy/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/echo/index.html           |  8 ++++----
 .../apisix/2.6/plugins/error-log-logger/index.html   |  8 ++++----
 .../apisix/2.6/plugins/fault-injection/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/grpc-transcode/index.html |  8 ++++----
 zh/docs/apisix/2.6/plugins/hmac-auth/index.html      |  8 ++++----
 zh/docs/apisix/2.6/plugins/http-logger/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/index.html                |  8 ++++----
 zh/docs/apisix/2.6/plugins/ip-restriction/index.html |  8 ++++----
 zh/docs/apisix/2.6/plugins/jwt-auth/index.html       |  8 ++++----
 zh/docs/apisix/2.6/plugins/kafka-logger/index.html   |  8 ++++----
 zh/docs/apisix/2.6/plugins/key-auth/index.html       |  8 ++++----
 zh/docs/apisix/2.6/plugins/limit-conn/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/limit-count/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/limit-req/index.html      |  8 ++++----
 zh/docs/apisix/2.6/plugins/log-rotate/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/mqtt-proxy/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/node-status/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/openid-connect/index.html |  8 ++++----
 zh/docs/apisix/2.6/plugins/prometheus/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/proxy-cache/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/proxy-mirror/index.html   |  8 ++++----
 zh/docs/apisix/2.6/plugins/proxy-rewrite/index.html  |  8 ++++----
 zh/docs/apisix/2.6/plugins/redirect/index.html       |  8 ++++----
 .../2.6/plugins/referer-restriction/index.html       |  8 ++++----
 zh/docs/apisix/2.6/plugins/request-id/index.html     |  8 ++++----
 .../apisix/2.6/plugins/request-validation/index.html |  8 ++++----
 .../apisix/2.6/plugins/response-rewrite/index.html   |  8 ++++----
 zh/docs/apisix/2.6/plugins/server-info/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/serverless/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/skywalking/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/sls-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/syslog/index.html         |  8 ++++----
 zh/docs/apisix/2.6/plugins/tcp-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/traffic-split/index.html  |  8 ++++----
 zh/docs/apisix/2.6/plugins/udp-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.6/plugins/uri-blocker/index.html    |  8 ++++----
 zh/docs/apisix/2.6/plugins/wolf-rbac/index.html      |  8 ++++----
 zh/docs/apisix/2.6/plugins/zipkin/index.html         |  8 ++++----
 zh/docs/apisix/2.6/powered-by/index.html             |  8 ++++----
 zh/docs/apisix/2.6/profile/index.html                |  8 ++++----
 zh/docs/apisix/2.6/router-radixtree/index.html       |  8 ++++----
 zh/docs/apisix/2.6/stand-alone/index.html            |  8 ++++----
 zh/docs/apisix/2.6/stream-proxy/index.html           |  8 ++++----
 zh/docs/apisix/2.7/FAQ/index.html                    |  8 ++++----
 zh/docs/apisix/2.7/IGNORE_DOC/index.html             |  8 ++++----
 zh/docs/apisix/2.7/admin-api/index.html              |  8 ++++----
 .../apisix/2.7/architecture-design/apisix/index.html |  8 ++++----
 .../2.7/architecture-design/consumer/index.html      |  8 ++++----
 .../2.7/architecture-design/debug-mode/index.html    |  8 ++++----
 .../2.7/architecture-design/global-rule/index.html   |  8 ++++----
 zh/docs/apisix/2.7/architecture-design/index.html    |  8 ++++----
 .../2.7/architecture-design/plugin-config/index.html |  8 ++++----
 .../apisix/2.7/architecture-design/plugin/index.html |  8 ++++----
 .../apisix/2.7/architecture-design/route/index.html  |  8 ++++----
 .../apisix/2.7/architecture-design/router/index.html |  8 ++++----
 .../apisix/2.7/architecture-design/script/index.html |  8 ++++----
 .../2.7/architecture-design/service/index.html       |  8 ++++----
 .../2.7/architecture-design/upstream/index.html      |  8 ++++----
 zh/docs/apisix/2.7/aws/index.html                    |  8 ++++----
 zh/docs/apisix/2.7/batch-processor/index.html        |  8 ++++----
 zh/docs/apisix/2.7/benchmark/index.html              |  8 ++++----
 zh/docs/apisix/2.7/certificate/index.html            |  8 ++++----
 zh/docs/apisix/2.7/control-api/index.html            |  8 ++++----
 .../2.7/customize-nginx-configuration/index.html     |  8 ++++----
 zh/docs/apisix/2.7/debug-function/index.html         |  8 ++++----
 zh/docs/apisix/2.7/discovery/consul_kv/index.html    |  8 ++++----
 zh/docs/apisix/2.7/discovery/dns/index.html          |  8 ++++----
 zh/docs/apisix/2.7/discovery/eureka/index.html       |  8 ++++----
 zh/docs/apisix/2.7/discovery/index.html              |  8 ++++----
 zh/docs/apisix/2.7/discovery/nacos/index.html        |  8 ++++----
 zh/docs/apisix/2.7/dns/index.html                    |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 zh/docs/apisix/2.7/external-plugin/index.html        |  8 ++++----
 zh/docs/apisix/2.7/getting-started/index.html        |  8 ++++----
 zh/docs/apisix/2.7/grpc-proxy/index.html             |  8 ++++----
 zh/docs/apisix/2.7/health-check/index.html           |  8 ++++----
 zh/docs/apisix/2.7/how-to-build/index.html           |  8 ++++----
 zh/docs/apisix/2.7/https/index.html                  |  8 ++++----
 zh/docs/apisix/2.7/install-dependencies/index.html   |  8 ++++----
 zh/docs/apisix/2.7/mtls/index.html                   |  8 ++++----
 zh/docs/apisix/2.7/plugin-develop/index.html         |  8 ++++----
 zh/docs/apisix/2.7/plugin-interceptors/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/api-breaker/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/authz-keycloak/index.html |  8 ++++----
 zh/docs/apisix/2.7/plugins/basic-auth/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/batch-requests/index.html |  8 ++++----
 zh/docs/apisix/2.7/plugins/client-control/index.html |  8 ++++----
 .../2.7/plugins/consumer-restriction/index.html      |  8 ++++----
 zh/docs/apisix/2.7/plugins/cors/index.html           |  8 ++++----
 zh/docs/apisix/2.7/plugins/dubbo-proxy/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/echo/index.html           |  8 ++++----
 .../apisix/2.7/plugins/error-log-logger/index.html   |  8 ++++----
 .../2.7/plugins/ext-plugin-post-req/index.html       |  8 ++++----
 .../apisix/2.7/plugins/ext-plugin-pre-req/index.html |  8 ++++----
 .../apisix/2.7/plugins/fault-injection/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/grpc-transcode/index.html |  8 ++++----
 zh/docs/apisix/2.7/plugins/hmac-auth/index.html      |  8 ++++----
 zh/docs/apisix/2.7/plugins/http-logger/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/index.html                |  8 ++++----
 zh/docs/apisix/2.7/plugins/ip-restriction/index.html |  8 ++++----
 zh/docs/apisix/2.7/plugins/jwt-auth/index.html       |  8 ++++----
 zh/docs/apisix/2.7/plugins/kafka-logger/index.html   |  8 ++++----
 zh/docs/apisix/2.7/plugins/key-auth/index.html       |  8 ++++----
 zh/docs/apisix/2.7/plugins/limit-conn/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/limit-count/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/limit-req/index.html      |  8 ++++----
 zh/docs/apisix/2.7/plugins/log-rotate/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/mqtt-proxy/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/node-status/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/openid-connect/index.html |  8 ++++----
 zh/docs/apisix/2.7/plugins/prometheus/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/proxy-cache/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/proxy-mirror/index.html   |  8 ++++----
 zh/docs/apisix/2.7/plugins/proxy-rewrite/index.html  |  8 ++++----
 zh/docs/apisix/2.7/plugins/redirect/index.html       |  8 ++++----
 .../2.7/plugins/referer-restriction/index.html       |  8 ++++----
 zh/docs/apisix/2.7/plugins/request-id/index.html     |  8 ++++----
 .../apisix/2.7/plugins/request-validation/index.html |  8 ++++----
 .../apisix/2.7/plugins/response-rewrite/index.html   |  8 ++++----
 zh/docs/apisix/2.7/plugins/server-info/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/serverless/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/skywalking/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/sls-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/syslog/index.html         |  8 ++++----
 zh/docs/apisix/2.7/plugins/tcp-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/traffic-split/index.html  |  8 ++++----
 zh/docs/apisix/2.7/plugins/udp-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.7/plugins/uri-blocker/index.html    |  8 ++++----
 zh/docs/apisix/2.7/plugins/wolf-rbac/index.html      |  8 ++++----
 zh/docs/apisix/2.7/plugins/zipkin/index.html         |  8 ++++----
 zh/docs/apisix/2.7/powered-by/index.html             |  8 ++++----
 zh/docs/apisix/2.7/profile/index.html                |  8 ++++----
 zh/docs/apisix/2.7/router-radixtree/index.html       |  8 ++++----
 zh/docs/apisix/2.7/stand-alone/index.html            |  8 ++++----
 zh/docs/apisix/2.7/stream-proxy/index.html           |  8 ++++----
 zh/docs/apisix/2.8/FAQ/index.html                    |  8 ++++----
 zh/docs/apisix/2.8/IGNORE_DOC/index.html             |  8 ++++----
 zh/docs/apisix/2.8/admin-api/index.html              |  8 ++++----
 .../apisix/2.8/architecture-design/apisix/index.html |  8 ++++----
 .../2.8/architecture-design/consumer/index.html      |  8 ++++----
 .../2.8/architecture-design/debug-mode/index.html    |  8 ++++----
 .../2.8/architecture-design/global-rule/index.html   |  8 ++++----
 zh/docs/apisix/2.8/architecture-design/index.html    |  8 ++++----
 .../2.8/architecture-design/plugin-config/index.html |  8 ++++----
 .../apisix/2.8/architecture-design/plugin/index.html |  8 ++++----
 .../apisix/2.8/architecture-design/route/index.html  |  8 ++++----
 .../apisix/2.8/architecture-design/router/index.html |  8 ++++----
 .../apisix/2.8/architecture-design/script/index.html |  8 ++++----
 .../2.8/architecture-design/service/index.html       |  8 ++++----
 .../2.8/architecture-design/upstream/index.html      |  8 ++++----
 zh/docs/apisix/2.8/aws/index.html                    |  8 ++++----
 zh/docs/apisix/2.8/batch-processor/index.html        |  8 ++++----
 zh/docs/apisix/2.8/benchmark/index.html              |  8 ++++----
 zh/docs/apisix/2.8/certificate/index.html            |  8 ++++----
 zh/docs/apisix/2.8/control-api/index.html            |  8 ++++----
 .../2.8/customize-nginx-configuration/index.html     |  8 ++++----
 zh/docs/apisix/2.8/debug-function/index.html         |  8 ++++----
 zh/docs/apisix/2.8/discovery/consul_kv/index.html    |  8 ++++----
 zh/docs/apisix/2.8/discovery/dns/index.html          |  8 ++++----
 zh/docs/apisix/2.8/discovery/eureka/index.html       |  8 ++++----
 zh/docs/apisix/2.8/discovery/index.html              |  8 ++++----
 zh/docs/apisix/2.8/discovery/nacos/index.html        |  8 ++++----
 zh/docs/apisix/2.8/dns/index.html                    |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 zh/docs/apisix/2.8/external-plugin/index.html        |  8 ++++----
 zh/docs/apisix/2.8/getting-started/index.html        |  8 ++++----
 zh/docs/apisix/2.8/grpc-proxy/index.html             |  8 ++++----
 zh/docs/apisix/2.8/health-check/index.html           |  8 ++++----
 zh/docs/apisix/2.8/how-to-build/index.html           |  8 ++++----
 zh/docs/apisix/2.8/https/index.html                  |  8 ++++----
 zh/docs/apisix/2.8/install-dependencies/index.html   |  8 ++++----
 zh/docs/apisix/2.8/mtls/index.html                   |  8 ++++----
 zh/docs/apisix/2.8/plugin-develop/index.html         |  8 ++++----
 zh/docs/apisix/2.8/plugin-interceptors/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/api-breaker/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/authz-keycloak/index.html |  8 ++++----
 zh/docs/apisix/2.8/plugins/basic-auth/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/batch-requests/index.html |  8 ++++----
 zh/docs/apisix/2.8/plugins/client-control/index.html |  8 ++++----
 .../2.8/plugins/consumer-restriction/index.html      |  8 ++++----
 zh/docs/apisix/2.8/plugins/cors/index.html           |  8 ++++----
 zh/docs/apisix/2.8/plugins/dubbo-proxy/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/echo/index.html           |  8 ++++----
 .../apisix/2.8/plugins/error-log-logger/index.html   |  8 ++++----
 .../2.8/plugins/ext-plugin-post-req/index.html       |  8 ++++----
 .../apisix/2.8/plugins/ext-plugin-pre-req/index.html |  8 ++++----
 .../apisix/2.8/plugins/fault-injection/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/grpc-transcode/index.html |  8 ++++----
 zh/docs/apisix/2.8/plugins/gzip/index.html           |  8 ++++----
 zh/docs/apisix/2.8/plugins/hmac-auth/index.html      |  8 ++++----
 zh/docs/apisix/2.8/plugins/http-logger/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/index.html                |  8 ++++----
 zh/docs/apisix/2.8/plugins/ip-restriction/index.html |  8 ++++----
 zh/docs/apisix/2.8/plugins/jwt-auth/index.html       |  8 ++++----
 zh/docs/apisix/2.8/plugins/kafka-logger/index.html   |  8 ++++----
 zh/docs/apisix/2.8/plugins/key-auth/index.html       |  8 ++++----
 zh/docs/apisix/2.8/plugins/limit-conn/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/limit-count/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/limit-req/index.html      |  8 ++++----
 zh/docs/apisix/2.8/plugins/log-rotate/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/mqtt-proxy/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/node-status/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/openid-connect/index.html |  8 ++++----
 zh/docs/apisix/2.8/plugins/prometheus/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/proxy-cache/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/proxy-mirror/index.html   |  8 ++++----
 zh/docs/apisix/2.8/plugins/proxy-rewrite/index.html  |  8 ++++----
 zh/docs/apisix/2.8/plugins/redirect/index.html       |  8 ++++----
 .../2.8/plugins/referer-restriction/index.html       |  8 ++++----
 zh/docs/apisix/2.8/plugins/request-id/index.html     |  8 ++++----
 .../apisix/2.8/plugins/request-validation/index.html |  8 ++++----
 .../apisix/2.8/plugins/response-rewrite/index.html   |  8 ++++----
 zh/docs/apisix/2.8/plugins/server-info/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/serverless/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/skywalking/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/sls-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/syslog/index.html         |  8 ++++----
 zh/docs/apisix/2.8/plugins/tcp-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/traffic-split/index.html  |  8 ++++----
 zh/docs/apisix/2.8/plugins/ua-restriction/index.html |  8 ++++----
 zh/docs/apisix/2.8/plugins/udp-logger/index.html     |  8 ++++----
 zh/docs/apisix/2.8/plugins/uri-blocker/index.html    |  8 ++++----
 zh/docs/apisix/2.8/plugins/wolf-rbac/index.html      |  8 ++++----
 zh/docs/apisix/2.8/plugins/zipkin/index.html         |  8 ++++----
 zh/docs/apisix/2.8/powered-by/index.html             |  8 ++++----
 zh/docs/apisix/2.8/profile/index.html                |  8 ++++----
 zh/docs/apisix/2.8/router-radixtree/index.html       |  8 ++++----
 zh/docs/apisix/2.8/stand-alone/index.html            |  8 ++++----
 zh/docs/apisix/2.8/stream-proxy/index.html           |  8 ++++----
 zh/docs/apisix/FAQ/index.html                        |  8 ++++----
 zh/docs/apisix/IGNORE_DOC/index.html                 |  8 ++++----
 zh/docs/apisix/admin-api/index.html                  |  8 ++++----
 zh/docs/apisix/architecture-design/apisix/index.html |  8 ++++----
 .../apisix/architecture-design/consumer/index.html   |  8 ++++----
 .../apisix/architecture-design/debug-mode/index.html |  8 ++++----
 .../architecture-design/global-rule/index.html       |  8 ++++----
 zh/docs/apisix/architecture-design/index.html        |  8 ++++----
 .../architecture-design/plugin-config/index.html     |  8 ++++----
 zh/docs/apisix/architecture-design/plugin/index.html |  8 ++++----
 zh/docs/apisix/architecture-design/route/index.html  |  8 ++++----
 zh/docs/apisix/architecture-design/router/index.html |  8 ++++----
 zh/docs/apisix/architecture-design/script/index.html |  8 ++++----
 .../apisix/architecture-design/service/index.html    |  8 ++++----
 .../apisix/architecture-design/upstream/index.html   |  8 ++++----
 zh/docs/apisix/aws/index.html                        |  8 ++++----
 zh/docs/apisix/batch-processor/index.html            |  8 ++++----
 zh/docs/apisix/benchmark/index.html                  |  8 ++++----
 zh/docs/apisix/certificate/index.html                |  8 ++++----
 zh/docs/apisix/control-api/index.html                |  8 ++++----
 .../apisix/customize-nginx-configuration/index.html  |  8 ++++----
 zh/docs/apisix/debug-function/index.html             |  8 ++++----
 zh/docs/apisix/discovery/consul_kv/index.html        |  8 ++++----
 zh/docs/apisix/discovery/dns/index.html              |  8 ++++----
 zh/docs/apisix/discovery/eureka/index.html           |  8 ++++----
 zh/docs/apisix/discovery/index.html                  |  8 ++++----
 zh/docs/apisix/discovery/nacos/index.html            |  8 ++++----
 zh/docs/apisix/dns/index.html                        |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 zh/docs/apisix/external-plugin/index.html            |  8 ++++----
 zh/docs/apisix/getting-started/index.html            |  8 ++++----
 zh/docs/apisix/grpc-proxy/index.html                 |  8 ++++----
 zh/docs/apisix/health-check/index.html               |  8 ++++----
 zh/docs/apisix/how-to-build/index.html               |  8 ++++----
 zh/docs/apisix/https/index.html                      |  8 ++++----
 zh/docs/apisix/install-dependencies/index.html       |  8 ++++----
 zh/docs/apisix/internal/testing-framework/index.html |  8 ++++----
 zh/docs/apisix/mtls/index.html                       |  8 ++++----
 zh/docs/apisix/next/FAQ/index.html                   |  8 ++++----
 zh/docs/apisix/next/IGNORE_DOC/index.html            | 10 +++++-----
 zh/docs/apisix/next/admin-api/index.html             |  8 ++++----
 .../next/architecture-design/apisix/index.html       |  8 ++++----
 .../next/architecture-design/consumer/index.html     |  8 ++++----
 .../next/architecture-design/debug-mode/index.html   |  8 ++++----
 .../next/architecture-design/global-rule/index.html  |  8 ++++----
 zh/docs/apisix/next/architecture-design/index.html   |  8 ++++----
 .../architecture-design/plugin-config/index.html     |  8 ++++----
 .../next/architecture-design/plugin/index.html       |  8 ++++----
 .../apisix/next/architecture-design/route/index.html |  8 ++++----
 .../next/architecture-design/router/index.html       |  8 ++++----
 .../next/architecture-design/script/index.html       |  8 ++++----
 .../next/architecture-design/service/index.html      |  8 ++++----
 .../next/architecture-design/upstream/index.html     |  8 ++++----
 zh/docs/apisix/next/aws/index.html                   |  8 ++++----
 zh/docs/apisix/next/batch-processor/index.html       |  8 ++++----
 zh/docs/apisix/next/benchmark/index.html             |  8 ++++----
 zh/docs/apisix/next/certificate/index.html           |  8 ++++----
 zh/docs/apisix/next/control-api/index.html           |  8 ++++----
 .../next/customize-nginx-configuration/index.html    |  8 ++++----
 zh/docs/apisix/next/debug-function/index.html        |  8 ++++----
 zh/docs/apisix/next/discovery/consul_kv/index.html   |  8 ++++----
 zh/docs/apisix/next/discovery/dns/index.html         |  8 ++++----
 zh/docs/apisix/next/discovery/eureka/index.html      |  8 ++++----
 zh/docs/apisix/next/discovery/index.html             |  8 ++++----
 zh/docs/apisix/next/discovery/nacos/index.html       |  8 ++++----
 zh/docs/apisix/next/dns/index.html                   |  8 ++++----
 .../plugins-hmac-auth-generate-signature/index.html  |  8 ++++----
 zh/docs/apisix/next/external-plugin/index.html       |  8 ++++----
 zh/docs/apisix/next/getting-started/index.html       |  8 ++++----
 zh/docs/apisix/next/grpc-proxy/index.html            |  8 ++++----
 zh/docs/apisix/next/health-check/index.html          |  8 ++++----
 zh/docs/apisix/next/how-to-build/index.html          |  8 ++++----
 zh/docs/apisix/next/https/index.html                 |  8 ++++----
 zh/docs/apisix/next/install-dependencies/index.html  |  8 ++++----
 .../next/internal/testing-framework/index.html       |  8 ++++----
 zh/docs/apisix/next/mtls/index.html                  |  8 ++++----
 zh/docs/apisix/next/plugin-develop/index.html        |  8 ++++----
 zh/docs/apisix/next/plugin-interceptors/index.html   |  8 ++++----
 zh/docs/apisix/next/plugins/api-breaker/index.html   |  8 ++++----
 zh/docs/apisix/next/plugins/authz-casbin/index.html  |  8 ++++----
 .../apisix/next/plugins/authz-keycloak/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/basic-auth/index.html    |  8 ++++----
 .../apisix/next/plugins/batch-requests/index.html    |  8 ++++----
 .../apisix/next/plugins/client-control/index.html    |  8 ++++----
 .../next/plugins/consumer-restriction/index.html     |  8 ++++----
 zh/docs/apisix/next/plugins/cors/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/dubbo-proxy/index.html   |  8 ++++----
 zh/docs/apisix/next/plugins/echo/index.html          |  8 ++++----
 .../apisix/next/plugins/error-log-logger/index.html  |  8 ++++----
 .../next/plugins/ext-plugin-post-req/index.html      |  8 ++++----
 .../next/plugins/ext-plugin-pre-req/index.html       |  8 ++++----
 .../apisix/next/plugins/fault-injection/index.html   |  8 ++++----
 .../apisix/next/plugins/grpc-transcode/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/gzip/index.html          |  8 ++++----
 zh/docs/apisix/next/plugins/hmac-auth/index.html     |  8 ++++----
 zh/docs/apisix/next/plugins/http-logger/index.html   |  8 ++++----
 zh/docs/apisix/next/plugins/index.html               |  8 ++++----
 .../apisix/next/plugins/ip-restriction/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/jwt-auth/index.html      |  8 ++++----
 zh/docs/apisix/next/plugins/kafka-logger/index.html  |  8 ++++----
 zh/docs/apisix/next/plugins/key-auth/index.html      |  8 ++++----
 zh/docs/apisix/next/plugins/limit-conn/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/limit-count/index.html   |  8 ++++----
 zh/docs/apisix/next/plugins/limit-req/index.html     |  8 ++++----
 zh/docs/apisix/next/plugins/log-rotate/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/mqtt-proxy/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/node-status/index.html   |  8 ++++----
 .../apisix/next/plugins/openid-connect/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/prometheus/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/proxy-cache/index.html   |  8 ++++----
 zh/docs/apisix/next/plugins/proxy-mirror/index.html  |  8 ++++----
 zh/docs/apisix/next/plugins/proxy-rewrite/index.html |  8 ++++----
 zh/docs/apisix/next/plugins/real-ip/index.html       |  8 ++++----
 zh/docs/apisix/next/plugins/redirect/index.html      |  8 ++++----
 .../next/plugins/referer-restriction/index.html      |  8 ++++----
 zh/docs/apisix/next/plugins/request-id/index.html    |  8 ++++----
 .../next/plugins/request-validation/index.html       |  8 ++++----
 .../apisix/next/plugins/response-rewrite/index.html  |  8 ++++----
 zh/docs/apisix/next/plugins/server-info/index.html   |  8 ++++----
 zh/docs/apisix/next/plugins/serverless/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/skywalking/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/sls-logger/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/syslog/index.html        |  8 ++++----
 zh/docs/apisix/next/plugins/tcp-logger/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/traffic-split/index.html |  8 ++++----
 .../apisix/next/plugins/ua-restriction/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/udp-logger/index.html    |  8 ++++----
 zh/docs/apisix/next/plugins/uri-blocker/index.html   |  8 ++++----
 zh/docs/apisix/next/plugins/wolf-rbac/index.html     |  8 ++++----
 zh/docs/apisix/next/plugins/zipkin/index.html        |  8 ++++----
 zh/docs/apisix/next/powered-by/index.html            |  8 ++++----
 zh/docs/apisix/next/profile/index.html               |  8 ++++----
 zh/docs/apisix/next/router-radixtree/index.html      |  8 ++++----
 zh/docs/apisix/next/stand-alone/index.html           |  8 ++++----
 zh/docs/apisix/next/stream-proxy/index.html          |  8 ++++----
 zh/docs/apisix/plugin-develop/index.html             |  8 ++++----
 zh/docs/apisix/plugin-interceptors/index.html        |  8 ++++----
 zh/docs/apisix/plugins/api-breaker/index.html        |  8 ++++----
 zh/docs/apisix/plugins/authz-casbin/index.html       |  8 ++++----
 zh/docs/apisix/plugins/authz-keycloak/index.html     |  8 ++++----
 zh/docs/apisix/plugins/basic-auth/index.html         |  8 ++++----
 zh/docs/apisix/plugins/batch-requests/index.html     |  8 ++++----
 zh/docs/apisix/plugins/client-control/index.html     |  8 ++++----
 .../apisix/plugins/consumer-restriction/index.html   |  8 ++++----
 zh/docs/apisix/plugins/cors/index.html               |  8 ++++----
 zh/docs/apisix/plugins/dubbo-proxy/index.html        |  8 ++++----
 zh/docs/apisix/plugins/echo/index.html               |  8 ++++----
 zh/docs/apisix/plugins/error-log-logger/index.html   |  8 ++++----
 .../apisix/plugins/ext-plugin-post-req/index.html    |  8 ++++----
 zh/docs/apisix/plugins/ext-plugin-pre-req/index.html |  8 ++++----
 zh/docs/apisix/plugins/fault-injection/index.html    |  8 ++++----
 zh/docs/apisix/plugins/grpc-transcode/index.html     |  8 ++++----
 zh/docs/apisix/plugins/gzip/index.html               |  8 ++++----
 zh/docs/apisix/plugins/hmac-auth/index.html          |  8 ++++----
 zh/docs/apisix/plugins/http-logger/index.html        |  8 ++++----
 zh/docs/apisix/plugins/index.html                    |  8 ++++----
 zh/docs/apisix/plugins/ip-restriction/index.html     |  8 ++++----
 zh/docs/apisix/plugins/jwt-auth/index.html           |  8 ++++----
 zh/docs/apisix/plugins/kafka-logger/index.html       |  8 ++++----
 zh/docs/apisix/plugins/key-auth/index.html           |  8 ++++----
 zh/docs/apisix/plugins/limit-conn/index.html         |  8 ++++----
 zh/docs/apisix/plugins/limit-count/index.html        |  8 ++++----
 zh/docs/apisix/plugins/limit-req/index.html          |  8 ++++----
 zh/docs/apisix/plugins/log-rotate/index.html         |  8 ++++----
 zh/docs/apisix/plugins/mqtt-proxy/index.html         |  8 ++++----
 zh/docs/apisix/plugins/node-status/index.html        |  8 ++++----
 zh/docs/apisix/plugins/openid-connect/index.html     |  8 ++++----
 zh/docs/apisix/plugins/prometheus/index.html         |  8 ++++----
 zh/docs/apisix/plugins/proxy-cache/index.html        |  8 ++++----
 zh/docs/apisix/plugins/proxy-mirror/index.html       |  8 ++++----
 zh/docs/apisix/plugins/proxy-rewrite/index.html      |  8 ++++----
 zh/docs/apisix/plugins/real-ip/index.html            |  8 ++++----
 zh/docs/apisix/plugins/redirect/index.html           |  8 ++++----
 .../apisix/plugins/referer-restriction/index.html    |  8 ++++----
 zh/docs/apisix/plugins/request-id/index.html         |  8 ++++----
 zh/docs/apisix/plugins/request-validation/index.html |  8 ++++----
 zh/docs/apisix/plugins/response-rewrite/index.html   |  8 ++++----
 zh/docs/apisix/plugins/server-info/index.html        |  8 ++++----
 zh/docs/apisix/plugins/serverless/index.html         |  8 ++++----
 zh/docs/apisix/plugins/skywalking/index.html         |  8 ++++----
 zh/docs/apisix/plugins/sls-logger/index.html         |  8 ++++----
 zh/docs/apisix/plugins/syslog/index.html             |  8 ++++----
 zh/docs/apisix/plugins/tcp-logger/index.html         |  8 ++++----
 zh/docs/apisix/plugins/traffic-split/index.html      |  8 ++++----
 zh/docs/apisix/plugins/ua-restriction/index.html     |  8 ++++----
 zh/docs/apisix/plugins/udp-logger/index.html         |  8 ++++----
 zh/docs/apisix/plugins/uri-blocker/index.html        |  8 ++++----
 zh/docs/apisix/plugins/wolf-rbac/index.html          |  8 ++++----
 zh/docs/apisix/plugins/zipkin/index.html             |  8 ++++----
 zh/docs/apisix/powered-by/index.html                 |  8 ++++----
 zh/docs/apisix/profile/index.html                    |  8 ++++----
 zh/docs/apisix/router-radixtree/index.html           |  8 ++++----
 zh/docs/apisix/stand-alone/index.html                |  8 ++++----
 zh/docs/apisix/stream-proxy/index.html               |  8 ++++----
 zh/docs/dashboard/2.5/FAQ/index.html                 |  8 ++++----
 zh/docs/dashboard/2.5/I18N_USER_GUIDE/index.html     |  8 ++++----
 zh/docs/dashboard/2.5/IGNORE_DOC/index.html          |  8 ++++----
 .../2.5/IMPORT_OPENAPI_USER_GUIDE/index.html         |  8 ++++----
 zh/docs/dashboard/2.5/USER_GUIDE/index.html          |  8 ++++----
 zh/docs/dashboard/2.5/api/api/index.html             |  8 ++++----
 zh/docs/dashboard/2.5/back-end-tests/index.html      |  8 ++++----
 zh/docs/dashboard/2.5/deploy-with-docker/index.html  |  8 ++++----
 zh/docs/dashboard/2.5/deploy-with-rpm/index.html     |  8 ++++----
 zh/docs/dashboard/2.5/deploy/index.html              |  8 ++++----
 zh/docs/dashboard/2.5/develop/index.html             |  8 ++++----
 zh/docs/dashboard/2.5/front-end-e2e/index.html       |  8 ++++----
 zh/docs/dashboard/2.6.1/FAQ/index.html               |  8 ++++----
 zh/docs/dashboard/2.6.1/I18N_USER_GUIDE/index.html   |  8 ++++----
 zh/docs/dashboard/2.6.1/IGNORE_DOC/index.html        |  8 ++++----
 .../2.6.1/IMPORT_OPENAPI_USER_GUIDE/index.html       |  8 ++++----
 zh/docs/dashboard/2.6.1/USER_GUIDE/index.html        |  8 ++++----
 zh/docs/dashboard/2.6.1/api/api/index.html           |  8 ++++----
 zh/docs/dashboard/2.6.1/back-end-tests/index.html    |  8 ++++----
 .../dashboard/2.6.1/deploy-with-docker/index.html    |  8 ++++----
 zh/docs/dashboard/2.6.1/deploy-with-rpm/index.html   |  8 ++++----
 zh/docs/dashboard/2.6.1/deploy/index.html            |  8 ++++----
 zh/docs/dashboard/2.6.1/develop/index.html           |  8 ++++----
 zh/docs/dashboard/2.6.1/front-end-e2e/index.html     |  8 ++++----
 zh/docs/dashboard/2.6/FAQ/index.html                 |  8 ++++----
 zh/docs/dashboard/2.6/I18N_USER_GUIDE/index.html     |  8 ++++----
 zh/docs/dashboard/2.6/IGNORE_DOC/index.html          |  8 ++++----
 .../2.6/IMPORT_OPENAPI_USER_GUIDE/index.html         |  8 ++++----
 zh/docs/dashboard/2.6/USER_GUIDE/index.html          |  8 ++++----
 zh/docs/dashboard/2.6/api/api/index.html             |  8 ++++----
 zh/docs/dashboard/2.6/back-end-tests/index.html      |  8 ++++----
 zh/docs/dashboard/2.6/deploy-with-docker/index.html  |  8 ++++----
 zh/docs/dashboard/2.6/deploy-with-rpm/index.html     |  8 ++++----
 zh/docs/dashboard/2.6/deploy/index.html              |  8 ++++----
 zh/docs/dashboard/2.6/develop/index.html             |  8 ++++----
 zh/docs/dashboard/2.6/front-end-e2e/index.html       |  8 ++++----
 zh/docs/dashboard/2.7/FAQ/index.html                 |  8 ++++----
 zh/docs/dashboard/2.7/I18N_USER_GUIDE/index.html     |  8 ++++----
 zh/docs/dashboard/2.7/IGNORE_DOC/index.html          |  8 ++++----
 .../2.7/IMPORT_OPENAPI_USER_GUIDE/index.html         |  8 ++++----
 zh/docs/dashboard/2.7/USER_GUIDE/index.html          |  8 ++++----
 zh/docs/dashboard/2.7/api/api/index.html             |  8 ++++----
 zh/docs/dashboard/2.7/back-end-tests/index.html      |  8 ++++----
 zh/docs/dashboard/2.7/deploy-with-docker/index.html  |  8 ++++----
 zh/docs/dashboard/2.7/deploy-with-rpm/index.html     |  8 ++++----
 zh/docs/dashboard/2.7/deploy/index.html              |  8 ++++----
 zh/docs/dashboard/2.7/develop/index.html             |  8 ++++----
 zh/docs/dashboard/2.7/front-end-e2e/index.html       |  8 ++++----
 zh/docs/dashboard/FAQ/index.html                     |  8 ++++----
 zh/docs/dashboard/I18N_USER_GUIDE/index.html         |  8 ++++----
 zh/docs/dashboard/IGNORE_DOC/index.html              |  8 ++++----
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html   |  8 ++++----
 zh/docs/dashboard/USER_GUIDE/index.html              |  8 ++++----
 zh/docs/dashboard/api/api/index.html                 |  8 ++++----
 zh/docs/dashboard/back-end-tests/index.html          |  8 ++++----
 zh/docs/dashboard/deploy-with-docker/index.html      |  8 ++++----
 zh/docs/dashboard/deploy-with-rpm/index.html         |  8 ++++----
 zh/docs/dashboard/deploy/index.html                  |  8 ++++----
 zh/docs/dashboard/develop/index.html                 |  8 ++++----
 zh/docs/dashboard/front-end-e2e/index.html           |  8 ++++----
 zh/docs/dashboard/next/FAQ/index.html                |  8 ++++----
 zh/docs/dashboard/next/I18N_USER_GUIDE/index.html    |  8 ++++----
 zh/docs/dashboard/next/IGNORE_DOC/index.html         | 10 +++++-----
 .../next/IMPORT_OPENAPI_USER_GUIDE/index.html        |  8 ++++----
 zh/docs/dashboard/next/USER_GUIDE/index.html         |  8 ++++----
 zh/docs/dashboard/next/api/api/index.html            |  8 ++++----
 zh/docs/dashboard/next/back-end-tests/index.html     |  8 ++++----
 zh/docs/dashboard/next/deploy-with-docker/index.html |  8 ++++----
 zh/docs/dashboard/next/deploy-with-rpm/index.html    |  8 ++++----
 zh/docs/dashboard/next/deploy/index.html             |  8 ++++----
 zh/docs/dashboard/next/develop/index.html            |  8 ++++----
 zh/docs/dashboard/next/front-end-e2e/index.html      |  8 ++++----
 zh/docs/docker/IGNORE_DOC/index.html                 |  8 ++++----
 zh/docs/docker/build/index.html                      |  8 ++++----
 zh/docs/docker/example/index.html                    |  8 ++++----
 zh/docs/docker/manual/index.html                     |  8 ++++----
 zh/docs/docker/next/IGNORE_DOC/index.html            | 10 +++++-----
 zh/docs/docker/next/build/index.html                 |  8 ++++----
 zh/docs/docker/next/example/index.html               |  8 ++++----
 zh/docs/docker/next/manual/index.html                |  8 ++++----
 zh/docs/general/2fa/index.html                       | 10 +++++-----
 zh/docs/general/committer-guide/index.html           | 10 +++++-----
 zh/docs/general/contributor-guide/index.html         | 10 +++++-----
 .../general/integrate-with-project-docs/index.html   | 10 +++++-----
 zh/docs/general/release-guide/index.html             | 10 +++++-----
 zh/docs/general/security/index.html                  | 10 +++++-----
 zh/docs/general/subscribe-guide/index.html           | 10 +++++-----
 zh/docs/go-plugin-runner/IGNORE_DOC/index.html       |  8 ++++----
 zh/docs/go-plugin-runner/developer-guide/index.html  |  8 ++++----
 zh/docs/go-plugin-runner/getting-started/index.html  |  8 ++++----
 zh/docs/go-plugin-runner/next/IGNORE_DOC/index.html  | 10 +++++-----
 .../go-plugin-runner/next/developer-guide/index.html |  8 ++++----
 .../go-plugin-runner/next/getting-started/index.html |  8 ++++----
 zh/docs/helm-chart/FAQ/index.html                    |  8 ++++----
 zh/docs/helm-chart/IGNORE_DOC/index.html             | 10 +++++-----
 zh/docs/helm-chart/apisix-dashboard/index.html       |  8 ++++----
 .../helm-chart/apisix-ingress-controller/index.html  |  8 ++++----
 zh/docs/helm-chart/apisix/index.html                 |  8 ++++----
 zh/docs/index.html                                   |  8 ++++----
 zh/docs/ingress-controller/FAQ/index.html            |  8 ++++----
 zh/docs/ingress-controller/IGNORE_DOC/index.html     | 10 +++++-----
 .../concepts/annotations/index.html                  |  8 ++++----
 .../concepts/apisix_cluster_config/index.html        |  8 ++++----
 .../concepts/apisix_route/index.html                 |  8 ++++----
 .../concepts/apisix_tls/index.html                   |  8 ++++----
 .../concepts/apisix_upstream/index.html              |  8 ++++----
 zh/docs/ingress-controller/contribute/index.html     |  8 ++++----
 .../ingress-controller/deployments/ack/index.html    |  8 ++++----
 .../ingress-controller/deployments/aws/index.html    |  8 ++++----
 .../ingress-controller/deployments/azure/index.html  |  8 ++++----
 .../ingress-controller/deployments/gke/index.html    |  8 ++++----
 .../deployments/k3s-rke/index.html                   |  8 ++++----
 .../deployments/kubesphere/index.html                |  8 ++++----
 .../deployments/minikube/index.html                  |  8 ++++----
 .../ingress-controller/deployments/tke/index.html    |  8 ++++----
 zh/docs/ingress-controller/design/index.html         |  8 ++++----
 zh/docs/ingress-controller/development/index.html    |  8 ++++----
 .../ingress-controller/getting-started/index.html    |  8 ++++----
 .../practices/check-crd-status/index.html            |  8 ++++----
 .../ingress-controller/practices/index/index.html    |  8 ++++----
 zh/docs/ingress-controller/practices/mtls/index.html |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../practices/proxy-the-httpbin-service/index.html   |  8 ++++----
 .../practices/the-hard-way/index.html                |  8 ++++----
 .../references/apisix_cluster_config/index.html      |  8 ++++----
 .../references/apisix_route_v1/index.html            |  8 ++++----
 .../references/apisix_route_v2alpha1/index.html      |  8 ++++----
 .../references/apisix_route_v2beta1/index.html       |  8 ++++----
 .../references/apisix_tls/index.html                 |  8 ++++----
 .../references/apisix_upstream/index.html            |  8 ++++----
 zh/docs/java-plugin-runner/IGNORE_DOC/index.html     |  8 ++++----
 zh/docs/java-plugin-runner/development/index.html    |  8 ++++----
 zh/docs/java-plugin-runner/how-it-works/index.html   |  8 ++++----
 .../java-plugin-runner/next/IGNORE_DOC/index.html    | 10 +++++-----
 .../java-plugin-runner/next/development/index.html   |  8 ++++----
 .../java-plugin-runner/next/how-it-works/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 zh/downloads/ProjectCard/index.html                  |  8 ++++----
 zh/downloads/index.html                              |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/02/09/release-apache-apisix-2.3/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../release-apache-apisix-dashboard-2.4/index.html   |  8 ++++----
 .../2021/03/05/release-apache-apisix-2.4/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/04/05/release-apache-apisix-2.5/index.html  |  8 ++++----
 .../release-apisix-ingress-controller-0.5/index.html |  8 ++++----
 .../release-apache-apisix-dashboard-2.6/index.html   |  8 ++++----
 .../2021/05/24/release-apache-apisix-2.6/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-2.6.1/index.html |  8 ++++----
 .../release-apache-apisix-dashboard-2.7/index.html   |  8 ++++----
 .../2021/06/25/release-apache-apisix-2.7/index.html  |  8 ++++----
 zh/events/2021/08/19/weekly-report/index.html        |  8 ++++----
 zh/events/2021/08/21/shanghai-meetup/index.html      |  8 ++++----
 zh/events/2021/08/23/ApacheCon-Asia-2021/index.html  |  8 ++++----
 zh/events/2021/08/23/weekly-report/index.html        |  8 ++++----
 zh/events/index.html                                 |  8 ++++----
 zh/events/page/2/index.html                          |  8 ++++----
 zh/help/index.html                                   |  8 ++++----
 zh/index.html                                        |  8 ++++----
 zh/plugins/index.html                                |  8 ++++----
 .../2019/09/06/release-apache-apisix-0.7/index.html  |  8 ++++----
 .../2019/09/29/release-apache-apisix-0.8/index.html  |  8 ++++----
 .../2019/11/15/release-apache-apisix-0.9/index.html  |  8 ++++----
 .../2020/01/15/release-apache-apisix-1.0/index.html  |  8 ++++----
 .../2020/02/24/release-apache-apisix-1.1/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-1.0/index.html   |  8 ++++----
 .../2020/04/20/release-apache-apisix-1.2/index.html  |  8 ++++----
 .../2020/05/26/release-apache-apisix-1.3/index.html  |  8 ++++----
 .../2020/06/30/release-apache-apisix-1.4/index.html  |  8 ++++----
 .../07/20/release-apache-apisix-1.4.1/index.html     |  8 ++++----
 .../2020/08/06/release-apache-apisix-1.5/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-1.5/index.html   |  8 ++++----
 .../2020/10/28/release-apache-apisix-2.0/index.html  |  8 ++++----
 .../2020/12/01/release-apache-apisix-2.1/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-2.2/index.html   |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/01/08/release-apache-apisix-2.2/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-2.3/index.html   |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/02/09/release-apache-apisix-2.3/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../release-apache-apisix-dashboard-2.4/index.html   |  8 ++++----
 .../2021/03/05/release-apache-apisix-2.4/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../release-apache-apisix-dashboard-2.5/index.html   |  8 ++++----
 .../2021/04/05/release-apache-apisix-2.5/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../release-apache-apisix-dashboard-2.6/index.html   |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/05/24/release-apache-apisix-2.6/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-2.6.1/index.html |  8 ++++----
 .../release-apache-apisix-dashboard-2.7/index.html   |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/06/25/release-apache-apisix-2.7/index.html  |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../index.html                                       |  8 ++++----
 .../2021/07/27/release-apache-apisix-2.8/index.html  |  8 ++++----
 .../release-apache-apisix-dashboard-2.7.1/index.html |  8 ++++----
 .../index.html                                       |  8 ++++----
 zh/releases/index.html                               |  8 ++++----
 zh/releases/page/2/index.html                        |  8 ++++----
 zh/releases/page/3/index.html                        |  8 ++++----
 zh/releases/page/4/index.html                        |  8 ++++----
 zh/releases/tags/apisix-dashboard/index.html         |  8 ++++----
 zh/releases/tags/apisix-go-plugin-runner/index.html  |  8 ++++----
 .../tags/apisix-ingress-controller/index.html        |  8 ++++----
 .../tags/apisix-java-plugin-runner/index.html        |  8 ++++----
 zh/releases/tags/apisix/index.html                   |  8 ++++----
 zh/releases/tags/index.html                          |  8 ++++----
 zh/search/index.html                                 | 10 +++++-----
 zh/team/index.html                                   |  8 ++++----
 1980 files changed, 7344 insertions(+), 7344 deletions(-)

diff --git a/404.html b/404.html
index 74aa4ca..3e6bac7 100644
--- a/404.html
+++ b/404.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" 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.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 e299075..72f93f5 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
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">按照 Apache Way 运作开源商业化公司,这行得通吗? | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="按照 Apache Way 运作开源商业化公司,这行得通吗? | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Apache Way 是被无数开源项目证实的社区成功之道,那么对于开源商业公司而言,Apache Way  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 b9d8a78..1238a96 100644
--- a/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
+++ b/articles/Apache-APISIX-From-OpenSource-Commercialization/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 从开源项目到商业化之路 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 从开源项目到商业化之路 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Apache APISIX 从开源项目到商业化之路."><meta data-react-helmet="true" prop [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 ac2dccd..5a4a09c 100644
--- a/articles/Apache-APISIX-Incubator-Journey/index.html
+++ b/articles/Apache-APISIX-Incubator-Journey/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 的孵化器之旅 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 的孵化器之旅 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Apache APISIX 的孵化过程。"><meta data-react-helmet="true" property="og:url" co [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 442b4ef..768821c 100644
--- a/articles/Apache-APISIX-Kubernetes-Ingress/index.html
+++ b/articles/Apache-APISIX-Kubernetes-Ingress/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX 的 Kubernetes Ingress 的实现 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="基于 Apache APISIX 的 Kubernetes Ingress 的实现 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="介绍基于 Apache APISIX 的 Kubernetes [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 024c9dd..9b3ef0a 100644
--- a/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
+++ b/articles/Apache-APISIX-in-China-Mobile-Cloud/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 在移动云对象存储 EOS 的应用与实践 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 555df75..8c91a29 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
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">如何将 Apache APISIX 扩展为一个服务网格的边车 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="如何将 Apache APISIX 扩展为一个服务网格的边车 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="在这个主题中将介绍 apisix-mesh-agent 项目,它有一些能力将 Apache APISIX  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 0108175..46ec5f1 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
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">依托社区让 Apache APISIX 高速发展 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="依托社区让 Apache APISIX 高速发展 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="在过去的一年里,APISIX 已经成为全世界最活跃的 API 网关项目,除了自身技术先进外,更得意于社区的高度活跃。截止目前,已经 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 a88beb9..3faa95e 100644
--- a/articles/Rendering-Community-Events-Using-ECharts/index.html
+++ b/articles/Rendering-Community-Events-Using-ECharts/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 ECharts 呈现社区活动的渲染图 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="使用 ECharts 呈现社区活动的渲染图 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="通过以下方式分析了开源资源库的情况:1.贡献者增长曲线;2.每月的贡献者活动,来反映开源项目的健康状况,这里我们分享一些关于如何制作这两张图的 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 01afb99..8acda03 100644
--- a/articles/Speed-Limiting-With-Apache-APISIX/index.html
+++ b/articles/Speed-Limiting-With-Apache-APISIX/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Apache APISIX 实现限流限速 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="使用 Apache APISIX 实现限流限速 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="本次分享将带来如何使用 Apache APISIX 来实现动态、精细化、分布式的限流限速,以及如何通过插件编排来实现更符合业务需求的限 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 2e3573c..489950f 100644
--- a/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
+++ b/articles/Test-Apache-APISIX-Resilience-With-Chaos-Mesh/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">用 Chaos Mesh 测试 Apache APISIX 的恢复能力 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="用 Chaos Mesh 测试 Apache APISIX 的恢复能力 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Apache APISIX 是领先的 API 网关 OSS 之一。APISIX 使用了 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 9e1dc7a..8a82e17 100644
--- a/articles/The-Appeal-of-OpenSource/index.html
+++ b/articles/The-Appeal-of-OpenSource/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">开源的魅力 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="开源的魅力 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Apache 软件基金会顶级项目 Apache APISIX 以及子项目,在过去 30 天中共合并了 250+ PRs,贡献者趋势也十分乐观。除此之外,高质量的邮件列表、活跃的、QQ 群 与 GitHub  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 0854580..27fad47 100644
--- a/articles/The-Evolution-of-Apache-APISIX/index.html
+++ b/articles/The-Evolution-of-Apache-APISIX/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 的演变 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 的演变 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Apache APISIX 是最受欢迎的 API 网关之一。我将介绍一下 APISIX 的发展,包括:1.我们所做的好决定,2.我们所做的不好的决定,3.我们 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 b1a43b9..c885836 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
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Apache APISIX 进行认证和授权 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="使用 Apache APISIX 进行认证和授权 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="认证和授权是 API 网关中非常必要的功能。这样一来,位于网关后面的服务就可以得到保护,避免未经授权或恶意的访问、数据泄露和黑客攻 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/atom.xml b/articles/atom.xml
index 2634d9e..bca7418 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-08-25T02:29:02.495Z</updated>
+    <updated>2021-08-25T02:54:21.595Z</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-08-25T02:29:02.495Z</updated>
+        <updated>2021-08-25T02:54:21.595Z</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-08-25T02:29:02.495Z</updated>
+        <updated>2021-08-25T02:54:21.595Z</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 64c96fd..93a7b5a 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//articles [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 b2df9f3..a66a9ff 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Article | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Article | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//articles [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/articles/rss.xml b/articles/rss.xml
index f3fa1c0..972767b 100644
--- a/articles/rss.xml
+++ b/articles/rss.xml
@@ -4,21 +4,21 @@
         <title>Apache APISIX® --  Cloud-Native API Gateway Blog</title>
         <link>https://apisix.apache.org/articles</link>
         <description>Apache APISIX® --  Cloud-Native API Gateway Blog</description>
-        <lastBuildDate>Wed, 25 Aug 2021 02:29:02 GMT</lastBuildDate>
+        <lastBuildDate>Wed, 25 Aug 2021 02:54:21 GMT</lastBuildDate>
         <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
         <generator>https://github.com/jpmonette/feed</generator>
         <item>
             <title><![CDATA[Apache APISIX 从开源项目到商业化之路]]></title>
             <link>https://apisix.apache.org/articles/Apache-APISIX-From-OpenSource-Commercialization</link>
             <guid>Apache APISIX 从开源项目到商业化之路</guid>
-            <pubDate>Wed, 25 Aug 2021 02:29:02 GMT</pubDate>
+            <pubDate>Wed, 25 Aug 2021 02:54:21 GMT</pubDate>
             <description><![CDATA[Apache APISIX 从开源项目到商业化之路.]]></description>
         </item>
         <item>
             <title><![CDATA[Apache APISIX 在移动云对象存储 EOS 的应用与实践]]></title>
             <link>https://apisix.apache.org/articles/Apache-APISIX-in-China-Mobile-Cloud</link>
             <guid>Apache APISIX 在移动云对象存储 EOS 的应用与实践</guid>
-            <pubDate>Wed, 25 Aug 2021 02:29:02 GMT</pubDate>
+            <pubDate>Wed, 25 Aug 2021 02:54:21 GMT</pubDate>
             <description><![CDATA[该演讲主题主要是讲述 Apache APISIX 在中国移动公有云对象存储 EOS 中的应用与实践经验分享。首先介绍了中国移动公有云建设规划及对象存储产品发展演进历程,然后阐述了我们为什么选择 APISIX 作为负载均衡网关,并对 EOS 流量治理架构演进三个阶段进行进行了详细介绍。同时,我们还分享了基于 APISIX 我们解决了哪些实际生产问题,做了哪些方案及开发工作,最后对我们未来的演进做了一些规划说明。]]></description>
         </item>
         <item>
diff --git a/assets/js/08110f6c.899ef5cc.js b/assets/js/08110f6c.899ef5cc.js
new file mode 100644
index 0000000..0d16800
--- /dev/null
+++ b/assets/js/08110f6c.899ef5cc.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[95941],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return m}});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/08110f6c.d8778145.js b/assets/js/08110f6c.d8778145.js
deleted file mode 100644
index 8d73ee0..0000000
--- a/assets/js/08110f6c.d8778145.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[95941],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return m}});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/09b17eb5.7e349b3e.js b/assets/js/09b17eb5.7e349b3e.js
new file mode 100644
index 0000000..171ad6a
--- /dev/null
+++ b/assets/js/09b17eb5.7e349b3e.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[29556],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function c(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/09b17eb5.fe8e302f.js b/assets/js/09b17eb5.fe8e302f.js
deleted file mode 100644
index bcf7712..0000000
--- a/assets/js/09b17eb5.fe8e302f.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[29556],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function c(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/10c2f2ec.7bca6a29.js b/assets/js/10c2f2ec.7bca6a29.js
new file mode 100644
index 0000000..1fc97d0
--- /dev/null
+++ b/assets/js/10c2f2ec.7bca6a29.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[99240],{3905:function(e,t,r){"use strict";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 i(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/10c2f2ec.90264220.js b/assets/js/10c2f2ec.90264220.js
deleted file mode 100644
index 5130768..0000000
--- a/assets/js/10c2f2ec.90264220.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[99240],{3905:function(e,t,r){"use strict";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 i(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/1264ab03.783b9902.js b/assets/js/1264ab03.783b9902.js
new file mode 100644
index 0000000..1b6ffd0
--- /dev/null
+++ b/assets/js/1264ab03.783b9902.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[64009],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return c},kt:function(){return m}});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 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/1264ab03.f09243d3.js b/assets/js/1264ab03.f09243d3.js
deleted file mode 100644
index adca7f6..0000000
--- a/assets/js/1264ab03.f09243d3.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[64009],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return c},kt:function(){return m}});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 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/150a263f.bd5be9d0.js b/assets/js/150a263f.bd5be9d0.js
new file mode 100644
index 0000000..44ed306
--- /dev/null
+++ b/assets/js/150a263f.bd5be9d0.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[71594],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},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/150a263f.c892c4b4.js b/assets/js/150a263f.c892c4b4.js
deleted file mode 100644
index b58de43..0000000
--- a/assets/js/150a263f.c892c4b4.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[71594],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},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/19945770.425b5f2e.js b/assets/js/19945770.425b5f2e.js
deleted file mode 100644
index 49dc0ed..0000000
--- a/assets/js/19945770.425b5f2e.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[55067],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return p},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.a389a9ef.js b/assets/js/19945770.a389a9ef.js
new file mode 100644
index 0000000..25ffff1
--- /dev/null
+++ b/assets/js/19945770.a389a9ef.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[55067],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return p},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/1a76dc05.16c08580.js b/assets/js/1a76dc05.16c08580.js
new file mode 100644
index 0000000..5b818da
--- /dev/null
+++ b/assets/js/1a76dc05.16c08580.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[40050],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return m}});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/1a76dc05.1d5885dd.js b/assets/js/1a76dc05.1d5885dd.js
deleted file mode 100644
index 36b7557..0000000
--- a/assets/js/1a76dc05.1d5885dd.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[40050],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return m}});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/1c51fb76.a0f82018.js b/assets/js/1c51fb76.a0f82018.js
new file mode 100644
index 0000000..0a26423
--- /dev/null
+++ b/assets/js/1c51fb76.a0f82018.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[53317],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return f}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(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/1c51fb76.e369bc5a.js b/assets/js/1c51fb76.e369bc5a.js
deleted file mode 100644
index e9c8741..0000000
--- a/assets/js/1c51fb76.e369bc5a.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[53317],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return f}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(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/20303563.3bca1ffd.js b/assets/js/20303563.3bca1ffd.js
deleted file mode 100644
index 4ccd03e..0000000
--- a/assets/js/20303563.3bca1ffd.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[38993],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return o},kt:function(){return g}});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 p(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/20303563.3bd8d7d9.js b/assets/js/20303563.3bd8d7d9.js
new file mode 100644
index 0000000..d806200
--- /dev/null
+++ b/assets/js/20303563.3bd8d7d9.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[38993],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return o},kt:function(){return g}});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 p(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/20510dec.176e1312.js b/assets/js/20510dec.176e1312.js
new file mode 100644
index 0000000..5ed1a2f
--- /dev/null
+++ b/assets/js/20510dec.176e1312.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[78138],{3905:function(e,t,r){"use strict";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/20510dec.89379dcc.js b/assets/js/20510dec.89379dcc.js
deleted file mode 100644
index 8d329ee..0000000
--- a/assets/js/20510dec.89379dcc.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[78138],{3905:function(e,t,r){"use strict";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/2164351d.0a3f0b36.js b/assets/js/2164351d.0a3f0b36.js
new file mode 100644
index 0000000..4a3f3c2
--- /dev/null
+++ b/assets/js/2164351d.0a3f0b36.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[77094],{3905:function(e,t,r){"use strict";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/2164351d.160642a1.js b/assets/js/2164351d.160642a1.js
deleted file mode 100644
index 63d90d6..0000000
--- a/assets/js/2164351d.160642a1.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[77094],{3905:function(e,t,r){"use strict";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/2a6ac083.3e057902.js b/assets/js/2a6ac083.3e057902.js
deleted file mode 100644
index ad94128..0000000
--- a/assets/js/2a6ac083.3e057902.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[72870],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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 i(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/2a6ac083.7d656d19.js b/assets/js/2a6ac083.7d656d19.js
new file mode 100644
index 0000000..81b2585
--- /dev/null
+++ b/assets/js/2a6ac083.7d656d19.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[72870],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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 i(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/2ed9567c.0689aa54.js b/assets/js/2ed9567c.0689aa54.js
new file mode 100644
index 0000000..ad3971c
--- /dev/null
+++ b/assets/js/2ed9567c.0689aa54.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[45186],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return c},kt:function(){return f}});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/2ed9567c.9cda206e.js b/assets/js/2ed9567c.9cda206e.js
deleted file mode 100644
index 80c5f03..0000000
--- a/assets/js/2ed9567c.9cda206e.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[45186],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return c},kt:function(){return f}});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.2a032817.js b/assets/js/3393d167.2a032817.js
new file mode 100644
index 0000000..2745352
--- /dev/null
+++ b/assets/js/3393d167.2a032817.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.f066a159.js b/assets/js/3393d167.f066a159.js
deleted file mode 100644
index fce3203..0000000
--- a/assets/js/3393d167.f066a159.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[27314],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/358566b4.14551ade.js b/assets/js/358566b4.14551ade.js
new file mode 100644
index 0000000..0d10d08
--- /dev/null
+++ b/assets/js/358566b4.14551ade.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){"use strict";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.df345146.js b/assets/js/358566b4.df345146.js
deleted file mode 100644
index b8a0832..0000000
--- a/assets/js/358566b4.df345146.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[13553],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return d}});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/3dc9f306.310140b1.js b/assets/js/3dc9f306.310140b1.js
deleted file mode 100644
index 220cfdc..0000000
--- a/assets/js/3dc9f306.310140b1.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(e,t,o){"use strict";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/3dc9f306.b3f6d704.js b/assets/js/3dc9f306.b3f6d704.js
new file mode 100644
index 0000000..c538472
--- /dev/null
+++ b/assets/js/3dc9f306.b3f6d704.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(e,t,o){"use strict";o.d(t,{Zo:function(){return l},kt:function(){return d}});var n=o(67294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o [...]
\ No newline at end of file
diff --git a/assets/js/40fb2fae.51c49be6.js b/assets/js/40fb2fae.51c49be6.js
new file mode 100644
index 0000000..33dc880
--- /dev/null
+++ b/assets/js/40fb2fae.51c49be6.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return m}});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.6948aeba.js b/assets/js/40fb2fae.6948aeba.js
deleted file mode 100644
index be07c36..0000000
--- a/assets/js/40fb2fae.6948aeba.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[32547],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return m}});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.aa6606bc.js b/assets/js/4c20006b.aa6606bc.js
deleted file mode 100644
index 3177587..0000000
--- a/assets/js/4c20006b.aa6606bc.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,r){"use strict";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.ba9414f3.js b/assets/js/4c20006b.ba9414f3.js
new file mode 100644
index 0000000..0e7cbe7
--- /dev/null
+++ b/assets/js/4c20006b.ba9414f3.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[91012],{3905:function(e,t,r){"use strict";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/4d194b10.5083cfdb.js b/assets/js/4d194b10.5083cfdb.js
deleted file mode 100644
index d258042..0000000
--- a/assets/js/4d194b10.5083cfdb.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[78870],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},kt:function(){return h}});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/4d194b10.dbb08904.js b/assets/js/4d194b10.dbb08904.js
new file mode 100644
index 0000000..a4d4f56
--- /dev/null
+++ b/assets/js/4d194b10.dbb08904.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[78870],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},kt:function(){return h}});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/4ffe1038.8ff2ad41.js b/assets/js/4ffe1038.8ff2ad41.js
deleted file mode 100644
index ae4cebf..0000000
--- a/assets/js/4ffe1038.8ff2ad41.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[79059],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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/4ffe1038.9807b951.js b/assets/js/4ffe1038.9807b951.js
new file mode 100644
index 0000000..e8cc404
--- /dev/null
+++ b/assets/js/4ffe1038.9807b951.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[79059],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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/50facf8e.76850d45.js b/assets/js/50facf8e.76850d45.js
new file mode 100644
index 0000000..896d2d0
--- /dev/null
+++ b/assets/js/50facf8e.76850d45.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){"use strict";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.9cbfaf70.js b/assets/js/50facf8e.9cbfaf70.js
deleted file mode 100644
index 37d2cd2..0000000
--- a/assets/js/50facf8e.9cbfaf70.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[87974],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return d}});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/542fd41f.68c29692.js b/assets/js/542fd41f.68c29692.js
new file mode 100644
index 0000000..067c11d
--- /dev/null
+++ b/assets/js/542fd41f.68c29692.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){"use strict";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.f2a59ce4.js b/assets/js/542fd41f.f2a59ce4.js
deleted file mode 100644
index fa5ec07..0000000
--- a/assets/js/542fd41f.f2a59ce4.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[4316],{3905:function(e,t,r){"use strict";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/5dab7861.2f517401.js b/assets/js/5dab7861.2f517401.js
deleted file mode 100644
index 7e2ac7c..0000000
--- a/assets/js/5dab7861.2f517401.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[87206],{3905:function(e,t,r){"use strict";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/5dab7861.fad55538.js b/assets/js/5dab7861.fad55538.js
new file mode 100644
index 0000000..fc3005c
--- /dev/null
+++ b/assets/js/5dab7861.fad55538.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[87206],{3905:function(e,t,r){"use strict";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/601c6eaa.1132a99f.js b/assets/js/601c6eaa.1132a99f.js
deleted file mode 100644
index f026e1b..0000000
--- a/assets/js/601c6eaa.1132a99f.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){"use strict";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.8d91633f.js b/assets/js/601c6eaa.8d91633f.js
new file mode 100644
index 0000000..24a2474
--- /dev/null
+++ b/assets/js/601c6eaa.8d91633f.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[97117],{3905:function(e,t,r){"use strict";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/6327eb3b.40a82899.js b/assets/js/6327eb3b.40a82899.js
new file mode 100644
index 0000000..fd2d3bd
--- /dev/null
+++ b/assets/js/6327eb3b.40a82899.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[21127],{3905:function(e,t,r){"use strict";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 o(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/6327eb3b.d3d8a811.js b/assets/js/6327eb3b.d3d8a811.js
deleted file mode 100644
index 12a8778..0000000
--- a/assets/js/6327eb3b.d3d8a811.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[21127],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},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 o(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.4e9c541d.js b/assets/js/66fbb9c2.4e9c541d.js
deleted file mode 100644
index cb00cd3..0000000
--- a/assets/js/66fbb9c2.4e9c541d.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){"use strict";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.b51539c5.js b/assets/js/66fbb9c2.b51539c5.js
new file mode 100644
index 0000000..fc120df
--- /dev/null
+++ b/assets/js/66fbb9c2.b51539c5.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){"use strict";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/70cee07f.0d07be44.js b/assets/js/70cee07f.0d07be44.js
deleted file mode 100644
index 6799d94..0000000
--- a/assets/js/70cee07f.0d07be44.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[20541],{3905:function(e,t,r){"use strict";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/70cee07f.a4c4717b.js b/assets/js/70cee07f.a4c4717b.js
new file mode 100644
index 0000000..6a98b4a
--- /dev/null
+++ b/assets/js/70cee07f.a4c4717b.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[20541],{3905:function(e,t,r){"use strict";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/7716d3b8.3227f64d.js b/assets/js/7716d3b8.3227f64d.js
deleted file mode 100644
index 61fab73..0000000
--- a/assets/js/7716d3b8.3227f64d.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[40673],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return u},kt:function(){return g}});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 c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/7716d3b8.e6f8cf12.js b/assets/js/7716d3b8.e6f8cf12.js
new file mode 100644
index 0000000..8b442ce
--- /dev/null
+++ b/assets/js/7716d3b8.e6f8cf12.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[40673],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return u},kt:function(){return g}});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 c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/7969b7e9.28ac2f32.js b/assets/js/7969b7e9.28ac2f32.js
deleted file mode 100644
index ea4ebc7..0000000
--- a/assets/js/7969b7e9.28ac2f32.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[57735],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return f}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(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/7969b7e9.df09ff8d.js b/assets/js/7969b7e9.df09ff8d.js
new file mode 100644
index 0000000..2335a11
--- /dev/null
+++ b/assets/js/7969b7e9.df09ff8d.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[57735],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return f}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/7af3052c.042890c6.js b/assets/js/7af3052c.042890c6.js
new file mode 100644
index 0000000..94b1b76
--- /dev/null
+++ b/assets/js/7af3052c.042890c6.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){"use strict";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.70ef2dc3.js b/assets/js/7af3052c.70ef2dc3.js
deleted file mode 100644
index 992292d..0000000
--- a/assets/js/7af3052c.70ef2dc3.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[25032],{3905:function(e,a,t){"use strict";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/8e784bf3.02209496.js b/assets/js/8e784bf3.02209496.js
deleted file mode 100644
index eaed25d..0000000
--- a/assets/js/8e784bf3.02209496.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,o){"use strict";o.d(t,{Zo:function(){return p},kt:function(){return d}});var r=o(67294);function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function n(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.ec216fa1.js b/assets/js/8e784bf3.ec216fa1.js
new file mode 100644
index 0000000..33c12c9
--- /dev/null
+++ b/assets/js/8e784bf3.ec216fa1.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,o){"use strict";o.d(t,{Zo:function(){return p},kt:function(){return d}});var r=o(67294);function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function n(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/8eb00467.0309c900.js b/assets/js/8eb00467.0309c900.js
deleted file mode 100644
index 7df5495..0000000
--- a/assets/js/8eb00467.0309c900.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[23356],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},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/8eb00467.828f545c.js b/assets/js/8eb00467.828f545c.js
new file mode 100644
index 0000000..09f5c6f
--- /dev/null
+++ b/assets/js/8eb00467.828f545c.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[23356],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},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.6b3736fa.js b/assets/js/8f700fa6.6b3736fa.js
new file mode 100644
index 0000000..fb331e7
--- /dev/null
+++ b/assets/js/8f700fa6.6b3736fa.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[53963],{3905:function(e,t,r){"use strict";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.ea64a523.js b/assets/js/8f700fa6.ea64a523.js
deleted file mode 100644
index b25514a..0000000
--- a/assets/js/8f700fa6.ea64a523.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[53963],{3905:function(e,t,r){"use strict";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.4a39d83b.js b/assets/js/90fc8a94.4a39d83b.js
deleted file mode 100644
index 57692fe..0000000
--- a/assets/js/90fc8a94.4a39d83b.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[64125],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function c(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/90fc8a94.709fec70.js b/assets/js/90fc8a94.709fec70.js
new file mode 100644
index 0000000..31ca5a0
--- /dev/null
+++ b/assets/js/90fc8a94.709fec70.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[64125],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return s}});var n=r(67294);function c(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/92b17a50.500d9b4b.js b/assets/js/92b17a50.500d9b4b.js
new file mode 100644
index 0000000..be76375
--- /dev/null
+++ b/assets/js/92b17a50.500d9b4b.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[82680],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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/92b17a50.e94ce9b9.js b/assets/js/92b17a50.e94ce9b9.js
deleted file mode 100644
index 13b7801..0000000
--- a/assets/js/92b17a50.e94ce9b9.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[82680],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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.87d904b6.js b/assets/js/941960b1.87d904b6.js
deleted file mode 100644
index 3cce804..0000000
--- a/assets/js/941960b1.87d904b6.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[41950],{3905:function(e,t,r){"use strict";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.8ef9473b.js b/assets/js/941960b1.8ef9473b.js
new file mode 100644
index 0000000..b1f0a68
--- /dev/null
+++ b/assets/js/941960b1.8ef9473b.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[41950],{3905:function(e,t,r){"use strict";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/9845a4c8.3019e8f8.js b/assets/js/9845a4c8.3019e8f8.js
deleted file mode 100644
index dd36225..0000000
--- a/assets/js/9845a4c8.3019e8f8.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[66442],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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 i(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/9845a4c8.df4074d8.js b/assets/js/9845a4c8.df4074d8.js
new file mode 100644
index 0000000..44e55f4
--- /dev/null
+++ b/assets/js/9845a4c8.df4074d8.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[66442],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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 i(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/9aae17b7.591ebc4f.js b/assets/js/9aae17b7.591ebc4f.js
deleted file mode 100644
index 550af74..0000000
--- a/assets/js/9aae17b7.591ebc4f.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[76262],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},kt:function(){return h}});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/9aae17b7.a24ea707.js b/assets/js/9aae17b7.a24ea707.js
new file mode 100644
index 0000000..f525475
--- /dev/null
+++ b/assets/js/9aae17b7.a24ea707.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[76262],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},kt:function(){return h}});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.48cdc79d.js b/assets/js/adbb350b.48cdc79d.js
new file mode 100644
index 0000000..7a00871
--- /dev/null
+++ b/assets/js/adbb350b.48cdc79d.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return c},kt:function(){return m}});var i=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 i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.6b3fb4a0.js b/assets/js/adbb350b.6b3fb4a0.js
deleted file mode 100644
index 4f32cae..0000000
--- a/assets/js/adbb350b.6b3fb4a0.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return c},kt:function(){return m}});var i=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 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/b6021c6a.3c645da6.js b/assets/js/b6021c6a.3c645da6.js
deleted file mode 100644
index e2aaeff..0000000
--- a/assets/js/b6021c6a.3c645da6.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[73726],{3905:function(e,t,r){"use strict";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/b6021c6a.8660c63a.js b/assets/js/b6021c6a.8660c63a.js
new file mode 100644
index 0000000..8187ad3
--- /dev/null
+++ b/assets/js/b6021c6a.8660c63a.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[73726],{3905:function(e,t,r){"use strict";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/c4efd965.3d0ec24e.js b/assets/js/c4efd965.3d0ec24e.js
deleted file mode 100644
index b392866..0000000
--- a/assets/js/c4efd965.3d0ec24e.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[87107],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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/c4efd965.cc51c75d.js b/assets/js/c4efd965.cc51c75d.js
new file mode 100644
index 0000000..5f5cc73
--- /dev/null
+++ b/assets/js/c4efd965.cc51c75d.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[87107],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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/cb56db36.11f5ddbc.js b/assets/js/cb56db36.11f5ddbc.js
new file mode 100644
index 0000000..cd2c5df
--- /dev/null
+++ b/assets/js/cb56db36.11f5ddbc.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[85502],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return I}});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 o(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/cb56db36.29061427.js b/assets/js/cb56db36.29061427.js
deleted file mode 100644
index 130cfa8..0000000
--- a/assets/js/cb56db36.29061427.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[85502],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return I}});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 i(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.0402ab8c.js b/assets/js/d18db9b0.0402ab8c.js
new file mode 100644
index 0000000..522a776
--- /dev/null
+++ b/assets/js/d18db9b0.0402ab8c.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){"use strict";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.1cdc2f2f.js b/assets/js/d18db9b0.1cdc2f2f.js
deleted file mode 100644
index be040c6..0000000
--- a/assets/js/d18db9b0.1cdc2f2f.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[17825],{3905:function(e,t,r){"use strict";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/d3b10994.74a80e6a.js b/assets/js/d3b10994.74a80e6a.js
new file mode 100644
index 0000000..8dd8bc8
--- /dev/null
+++ b/assets/js/d3b10994.74a80e6a.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[75275],{3905:function(e,t,r){"use strict";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 i(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/d3b10994.c7476264.js b/assets/js/d3b10994.c7476264.js
deleted file mode 100644
index a75b19a..0000000
--- a/assets/js/d3b10994.c7476264.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[75275],{3905:function(e,t,r){"use strict";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 i(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/da052172.28e69bef.js b/assets/js/da052172.28e69bef.js
deleted file mode 100644
index 98f921a..0000000
--- a/assets/js/da052172.28e69bef.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[84989],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return I}});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 i(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/da052172.64544b47.js b/assets/js/da052172.64544b47.js
new file mode 100644
index 0000000..965c41d
--- /dev/null
+++ b/assets/js/da052172.64544b47.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[84989],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return I}});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 o(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/e188de42.70c4159a.js b/assets/js/e188de42.70c4159a.js
deleted file mode 100644
index de396eb..0000000
--- a/assets/js/e188de42.70c4159a.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[57832],{3905:function(e,t,r){"use strict";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/e188de42.da358101.js b/assets/js/e188de42.da358101.js
new file mode 100644
index 0000000..2696257
--- /dev/null
+++ b/assets/js/e188de42.da358101.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[57832],{3905:function(e,t,r){"use strict";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/e94802f7.1da554e0.js b/assets/js/e94802f7.1da554e0.js
new file mode 100644
index 0000000..ee28ecd
--- /dev/null
+++ b/assets/js/e94802f7.1da554e0.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[82271],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return m}});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/e94802f7.34e3155a.js b/assets/js/e94802f7.34e3155a.js
deleted file mode 100644
index 4bb1d54..0000000
--- a/assets/js/e94802f7.34e3155a.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[82271],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return l},kt:function(){return m}});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/f7c0b0ac.ade2a7a4.js b/assets/js/f7c0b0ac.ade2a7a4.js
deleted file mode 100644
index 2d654f8..0000000
--- a/assets/js/f7c0b0ac.ade2a7a4.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[52197],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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/f7c0b0ac.e4b69324.js b/assets/js/f7c0b0ac.e4b69324.js
new file mode 100644
index 0000000..68e1d5b
--- /dev/null
+++ b/assets/js/f7c0b0ac.e4b69324.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[52197],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return u},kt:function(){return h}});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/main.27f94c8c.js b/assets/js/main.27f94c8c.js
new file mode 100644
index 0000000..218000d
--- /dev/null
+++ b/assets/js/main.27f94c8c.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.27f94c8c.js.LICENSE.txt */
+(self.webpackChunk=self.webpackChunk||[]).push([[40179],{64644:function(e){"use strict";e.exports={}},22122:function(e,n,t){"use strict";function i(){return(i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e}).apply(this,arguments)}t.d(n,{Z:function(){return i}})},93552:function(e,n,t){"use strict";function i(e,n){return(i=Object.setPrototypeOf||function(e,n){return e.__proto__ [...]
\ No newline at end of file
diff --git a/zh/assets/js/main.57c95f4d.js.LICENSE.txt b/assets/js/main.27f94c8c.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.57c95f4d.js.LICENSE.txt
rename to assets/js/main.27f94c8c.js.LICENSE.txt
diff --git a/assets/js/main.4fb61845.js b/assets/js/main.4fb61845.js
deleted file mode 100644
index 85aed4f..0000000
--- a/assets/js/main.4fb61845.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.4fb61845.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[40179],{64644:function(e){"use strict";e.exports={}},22122:function(e,n,t){"use strict";function i(){return(i=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e}).apply(this,arguments)}t.d(n,{Z:function(){return i}})},93552:function(e,n,t){"use strict";function i(e,n){return(i=Object.setPrototypeOf||function(e,n){return e.__proto__ [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.99724df8.js b/assets/js/runtime~main.99724df8.js
new file mode 100644
index 0000000..64e2607
--- /dev/null
+++ b/assets/js/runtime~main.99724df8.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,c,f,a,b={},d={};function t(e){var c=d[e];if(void 0!==c)return c.exports;var f=d[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,t),f.loaded=!0,f.exports}t.m=b,t.c=d,e=[],t.O=function(c,f,a,b){if(!f){var d=1/0;for(o=0;o<e.length;o++){f=e[o][0],a=e[o][1],b=e[o][2];for(var n=!0,r=0;r<f.length;r++)(!1&b||d>=b)&&Object.keys(t.O).every((function(e){return t.O[e](f[r])}))?f.splice(r--,1):(n=!1,b<d&&(d=b));n&&(e.splice(o--,1),c=a())}return c}b [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.bccc5514.js b/assets/js/runtime~main.bccc5514.js
deleted file mode 100644
index e3df7ac..0000000
--- a/assets/js/runtime~main.bccc5514.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(){"use strict";var e,c,f,b,a={},d={};function t(e){var c=d[e];if(void 0!==c)return c.exports;var f=d[e]={id:e,loaded:!1,exports:{}};return a[e].call(f.exports,f,f.exports,t),f.loaded=!0,f.exports}t.m=a,t.c=d,e=[],t.O=function(c,f,b,a){if(!f){var d=1/0;for(o=0;o<e.length;o++){f=e[o][0],b=e[o][1],a=e[o][2];for(var n=!0,r=0;r<f.length;r++)(!1&a||d>=a)&&Object.keys(t.O).every((function(e){return t.O[e](f[r])}))?f.splice(r--,1):(n=!1,a<d&&(d=a));n&&(e.splice(o--,1),c=b())}return c}a [...]
\ No newline at end of file
diff --git a/blog/2020/08/22/new-website/index.html b/blog/2020/08/22/new-website/index.html
index 9b38fcc..d360a00 100644
--- a/blog/2020/08/22/new-website/index.html
+++ b/blog/2020/08/22/new-website/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">New website for Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="New website for Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="We are just refactored out website for Apache APISIX by [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
index 4f43328..c7fec65 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
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:des [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.</p><p><img src="https://static.apiseven.com/filters.png" alt="Envoy filter"></p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="expansion-method"></a>Expansion method<a class="hash-link" href="#expansion-method" title="Direct link to heading">#</a></h3><p>The existing filters may not meet the user&#x27;s custom requirements. In this case, Envoy needs to [...]
 In the example, we configured plugin <code>uri-blocker</code> for the route whose prefix is ​​<code>/foo</code>, as well as the block rule of the plugin and the response status when a block is required.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="second-step-parse-request"></a>Second step, parse request<a class="hash-link" href="#second-step-parse-request" title="Direct link to heading">#</a></h4><p>We encapsulated the client request data into <code>ctx</code> so that i [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html b/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
index 2b6b4be..f8ec2e5 100644
--- a/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
+++ b/blog/2020/12/18/a-first-look-at-kubernetes-service-api/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">初探 Kubernetes Service APIs | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="初探 Kubernetes Service APIs | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@gxthrj, Apache APISIX PMC &amp; Apache apisix-ingress-contro [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/01/11/interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team/index.html b/blog/2021/01/11/interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team/index.html
index b58091b..10ae9b3 100644
--- a/blog/2021/01/11/interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team/index.html
+++ b/blog/2021/01/11/interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 贡献者专访 | 普华永道华南数据安全与隐私保护团队高级安全顾问王鹏诚 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 贡献者专访 | 普华永道华南数据安全与隐私保护团队高级安全顾问王鹏诚 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@moonming, Apache [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 b87acc3..b011ba1 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
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Run Ingress APISIX on Amazon EKS | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Run Ingress APISIX on Amazon EKS | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@Chao Zhang, Apache APISIX Committer from Shenzhe [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div 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">{</span> [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 a0514d5..06a856e 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
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stable Product Delivery with Cypress | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Stable Product Delivery with Cypress | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@LiteSun, Apache APISIX Committer from Sh [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 cc5b06a..c71f165 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
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Apache APISIX from Helm Charts | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Install Apache APISIX from Helm Charts | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX Committer from [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">NAME                    CHART VERSION   APP VERSION     DESCRIPTION</span></div><div 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 </span>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">NAME: apisix-gw</span></div><div 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 plain">< [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 55a744d..6880903 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
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Get Front-End Test Coverage with Cypress | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Get Front-End Test Coverage with Cypress | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@LiteSun, Apache APISIX Committer [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html b/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
index 31ecc04..43db60e 100644
--- a/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
+++ b/blog/2021/03/27/traffic-split-in-apache-apisix-ingress-controller/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Traffic Split in Apache APISIX Ingress Controller | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Traffic Split in Apache APISIX Ingress Controller | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git "a/blog/2021/05/25/Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203/index.html" "b/blog/2021/05/25/Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203/index.html"
index ca15b51..2c9898e 100644
--- "a/blog/2021/05/25/Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203/index.html"	
+++ "b/blog/2021/05/25/Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203/index.html"	
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 2.6.0-Release 正式发布 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 2.6.0-Release 正式发布 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@spacewander, Core developer of Apache APISIX fro [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 目前 APISIX 内置的服务发现功能已支持下列外部服务:</p><ol><li>DNS</li><li>Consul KV mode</li><li>Eureka</li><li>Nacos</li></ol><p>▌<strong>支持:配置 IPv6 的 DNS resolver</strong></p><p>之前配置 APISIX 的 DNS resolver 时,只能配置 IPv4 服务器。从 2.6 版本之后,我们加上了对 IPv6 DNS 服务器的支持。</p><p>现在配置 DNS resolver 的时候,可以写上 IPv6 的服务器地址了。</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="下载"></a>下载<a class="hash-link" href="#下载" title="Direct link to heading">#</a></h2><p>下载 Apache APISIX 2.6.0-Release 源代码及二进制安装包,请访问下载页面: <code>htt [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git "a/blog/2021/05/31/\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220/index.html" "b/blog/2021/05/31/\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220/index.html"
index 12ea4ba..c0a288a 100644
--- "a/blog/2021/05/31/\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220/index.html"	
+++ "b/blog/2021/05/31/\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220/index.html"	
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX 实现的服务网格项目正式开源 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="基于 Apache APISIX 实现的服务网格项目正式开源 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX PMC from Shenzhen Zhiliu Techn [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <code>https://github.com/api7/apisix-mesh-agent/releases/tag/0.6</code></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="文档更新"></a>文档更新<a class="hash-link" href="#文档更新" title="Direct link to heading">#</a></h2><p>在本次发布过程中,我们也在持续更新和发布新的使用文档,欢迎大家提出宝贵的意见。
 <code>https://github.com/api7/apisix-mesh-agent/tree/main/docs</code></p></div></article><div></div><div class="margin-vert--xl"><nav class="pagination-nav" aria-label="Blog post page navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017"><div class="pagination-nav__sublabel">Newer Post</div><div class="pagination-nav__label">« Apache APISIX not affected by NGINX CVE-2021-23017</div></a></di [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 60dfec2..e42244f 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
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@Serendipity9 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/16/Chaos-Mesh-helps-Apache-APISIX-improve-stability/index.html b/blog/2021/06/16/Chaos-Mesh-helps-Apache-APISIX-improve-stability/index.html
index 7bc618e..b8dca47 100644
--- a/blog/2021/06/16/Chaos-Mesh-helps-Apache-APISIX-improve-stability/index.html
+++ b/blog/2021/06/16/Chaos-Mesh-helps-Apache-APISIX-improve-stability/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh 助力 Apache APISIX 提升稳定性 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Chaos Mesh 助力 Apache APISIX 提升稳定性 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@Yiyiyimu,Apache APISIX committer from Shenzhen [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/17/Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement/index.html b/blog/2021/06/17/Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement/index.html
index b052aa2..b285747 100644
--- a/blog/2021/06/17/Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement/index.html
+++ b/blog/2021/06/17/Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Dashboard 访问控制绕过漏洞公告(CVE-2021-33190) | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX Dashboard 访问控制绕过漏洞公告(CVE-2021-33190) | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@juzhiyuan, A [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released/index.html b/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released/index.html
index 4ff42ea..cb880c7 100644
--- a/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released/index.html
+++ b/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Ingress Controller 首个 GA 版本 v1.0 正式发布! | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX Ingress Controller 首个 GA 版本 v1.0 正式发布! | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@tao12345 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/index.html b/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/index.html
index 9b50fcd..36570ba 100644
--- a/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/index.html
+++ b/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Java 编写 Apache APISIX 插件 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="使用 Java 编写 Apache APISIX 插件 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@tzssangglass, Apache APISIX contributor from Shenzhen Zhil [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -38,7 +38,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        // token verification results</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        if (!flag) {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">            String rejected_code = (String) conf.get(&quot;rejected_code&quot;);</span></div><div class="token-line" style="color:#393A34"><span class="token plain">            res [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        return chain.filter(request, response);</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    }</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    private Boolean validate(String token, String validate_url) {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        //TODO: improve the validation process</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        return true;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    }</span></div><di [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast/index.html b/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast/index.html
index cd2edbb..307ec4e 100644
--- a/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast/index.html
+++ b/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Rancher × Apache APISIX: 极速部署更好用的开源网关和 Ingress Controller | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Rancher × Apache APISIX: 极速部署更好用的开源网关和 Ingress Controller | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-在终端下测试是否代理成功:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">root@apisix:~$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://172.18.0.2:32763/get -H </span><span class="t [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+在终端下测试是否代理成功:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">root@apisix:~$ </span><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://172.18.0.2:32763/get -H </span><span class="t [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 3bec3c2..da120c0 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
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.7.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.7.0 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@Serendipity96, Apache APISIX contributor from Shenzhen Zhi [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/29/release-apache-apisix-2.7/index.html b/blog/2021/06/29/release-apache-apisix-2.7/index.html
index 9ffb0d1..8bb18f3 100644
--- a/blog/2021/06/29/release-apache-apisix-2.7/index.html
+++ b/blog/2021/06/29/release-apache-apisix-2.7/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 2.7.0-Release 正式发布 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 2.7.0-Release 正式发布 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@spacewander, Core developer of Apache APISIX fro [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html b/blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html
index c79d7c7..1f59949 100644
--- a/blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html
+++ b/blog/2021/06/30/etcd3-support-HTTP-access-perfectly/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">差之毫厘:etcd 3 完美支持 HTTP 访问? | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="差之毫厘:etcd 3 完美支持 HTTP 访问? | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@spacewander, Core developer of Apache APISIX from Shenzhen Zhi [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 28a4bc7..af2fbc4 100644
--- a/blog/2021/07/06/celebrate-200-contributors/index.html
+++ b/blog/2021/07/06/celebrate-200-contributors/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" co [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 Welcome to join the Apache APISIX community, welcome to use Apache APISIX!</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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 controbutors in the community sent their blessings to Apache APISIX. Here are what they want to say to Apache APISIX.</p><p><a href="https://github.com/juzhiyuan" target="_blank" rel="noopene [...]
 community activity</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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 Apache APISIX contributor. In the Apache APISIX [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX/index.html b/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX/index.html
index f97d378..4edc850 100644
--- a/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX/index.html
+++ b/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX,新浪微博 API 网关的定制化开发之路 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="基于 Apache APISIX,新浪微博 API 网关的定制化开发之路 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="聂永,微博基础架构师,开源爱好者,爱折腾追求 Geek。"><meta data- [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply/index.html b/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply/index.html
index f6b5bae..6bfad8e 100644
--- a/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply/index.html
+++ b/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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 Mesh Agent | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="深度剖析 Apache APISIX Mesh Agent | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX PMC from Shenzhen Zhiliu Technol [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic"># 该路由匹配时需要判断对应连接原始的目标地址是否是 &quot;10.0.5.113:8000&quot;,即</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic"># httpbin.default.svc.cluster.local 这一服务的 ClusterIP(只考虑 Kubernetes</span><span  [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token string" style="color:#e3116c">&quot;vars&quot;</span><span class="token builtin class-name">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">[</span [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic"># upstream_id 定义了 httpbin.default.svc.cluster.local 这一服务,</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic"># 包含其最新的实例地址和其他相关的负载均衡、健康检查等配置。</span><span class="token plain"></span></div>< [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html b/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html
index 71b486a..7c9013b 100644
--- a/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html
+++ b/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">插件编排在 Apache APISIX 中的应用与实践 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="插件编排在 Apache APISIX 中的应用与实践 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@juzhiyuan, Apache APISIX PMC from Shenzhen Zhiliu Technolo [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -30,7 +30,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain">,</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">&quot;4-5-6&quot;</span><span class="token builtin class-name">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token string" style="color:#e3116c">&quot;n [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token string" style="color:#e3116c">&quot;rule&quot;</span><span class="token builtin class-name">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">&quot;root&q [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 4850eb6..3533f5c 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
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.8.0 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.8.0 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@Serendipity96, Apache APISIX contributor from Shenzhen Zhi [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 👇👇👇</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" 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" id="new-feature-independent-keepalive-connection-pool"></a>New feature: Independent Keepalive connection pool<a class="hash-link" href="#new-feature-independent-keepalive-connection-pool" title="Direct link to heading">#</a></h3><p>Starting with <a href=" [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/07/28/release-apache-apisix-2.8/index.html b/blog/2021/07/28/release-apache-apisix-2.8/index.html
index 489b4a7..8e5bdac 100644
--- a/blog/2021/07/28/release-apache-apisix-2.8/index.html
+++ b/blog/2021/07/28/release-apache-apisix-2.8/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 2.8 正式发布,带来更多新功能! | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 2.8 正式发布,带来更多新功能! | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@spacewander, Core developer of Apache APISIX from  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/05/Kong-to-APISIX/index.html b/blog/2021/08/05/Kong-to-APISIX/index.html
index a06bf5c..38ab1c1 100644
--- a/blog/2021/08/05/Kong-to-APISIX/index.html
+++ b/blog/2021/08/05/Kong-to-APISIX/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Kong-To-APISIX 迁移工具 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Kong-To-APISIX 迁移工具 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@Yiyiyimu, Apache APISIX committer from Shenzhen Zhiliu Technology Co."><me [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -32,7 +32,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">./tools/setup.sh</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="2"><li><p>根据 Kong 的 Getting Started Guide,为 Kong 添加配置并进行测试:</p><p>a. 通过 Service 和 Route 暴露服务,进行路由转发</p><p>b. 设置 Rate Limiting 和 Proxy Caching 插件做限流缓存</p><p>c. 设置 Key Authentication 插件做认证</p><p>d. 通过 Upstream 和 Target 设置负载均衡</p></li></ol><div class= [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">go run ./cmd/kong-to-apisix/main.go</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="5"><li>在 APISIX 一侧测试迁移过后的路由、负载均衡、插件等是否正常运行</li></ol><p>a. 测试 key auth 插件</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scro [...]
 欢迎任何对这个项目感兴趣的人一同来为这个项目作贡献!有任何问题都可以在仓库的 Issues 区讨论。</p></div></article><div></div><div class="margin-vert--xl"><nav class="pagination-nav" aria-label="Blog post page navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud"><div class="pagination-nav__sublabel">Newer Post</div><div class="pagination-nav__label">« Apache APISIX 在移动云的应用</div></a></div><div class="pagination-nav__item pagination-nav__item--next"> [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html b/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html
index f6ccf57..edd74bf 100644
--- a/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html
+++ b/blog/2021/08/09/Apache-APISIX-in-China-Mobile-Cloud/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 在移动云的应用 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 在移动云的应用 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="我们有幸采访了中国移动云能力中心的陈焱山,在采访中我们了解到中国移动公有云建设发展演进历程,了解了中国移动云为什么选择 Apache APIS [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/11/interview-TuZhengsong/index.html b/blog/2021/08/11/interview-TuZhengsong/index.html
index 98d735a..cceda26 100644
--- a/blog/2021/08/11/interview-TuZhengsong/index.html
+++ b/blog/2021/08/11/interview-TuZhengsong/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">从新手村出来,我在 Apache APISIX 社区发出了第一个 PR | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="从新手村出来,我在 Apache APISIX 社区发出了第一个 PR | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="这篇采访稿讲述了屠正松从开源社区小白成长为 Apache 顶级开源项目 APISIX  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 1b51905..c0ae479 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
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh Helps Apache APISIX Improve System Stability | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Chaos Mesh Helps Apache APISIX Improve System Stability | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Thi [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 8252155..7a19e10 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
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Contributors — The Golden Metric of OpenSource Projects | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Contributors — The Golden Metric of OpenSource Projects | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Thi [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="https://github.com/api7/contributor-graph" target="_blank" rel="noopener noreferrer">https://github.com/api7/contributor-graph</a></p></blockquote><p>According to GitHub’s statistics in 2020, over 60 million new repositories were added, and more than 56 million developers worked on OpenSource projects. By 2025, the number of developers working on OpenSource projects on GitHub is expected to exceed 100 million.</p><p>Behind these fast-growing numbers, open source maintainers did  [...]
 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects/index.html b/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects/index.html
index 458c48d..03502d1 100644
--- a/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects/index.html
+++ b/blog/2021/08/14/contributors-the-golden-metric-of-openSource-projects/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">贡献者,是衡量开源项目的金指标 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="贡献者,是衡量开源项目的金指标 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="本文讲述了为什么贡献者数量变化是衡量开源项目的金指标。虽然 GitHub 已有的指标数量很多,例如 Star 数、Issue 数量和 PR 数量,但是这些指标都不能直 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="https://github.com/api7/contributor-graph" target="_blank" rel="noopener noreferrer">https://github.com/api7/contributor-graph</a></p></blockquote><p>根据 GitHub 2020 年的统计显示,这一年新增了 6000 万个代码仓库,超过 5600 万的开发者参与到开源项目中。预计到 2025 年,在 GitHub 参与开源项目的开发者人数将会超过 1 亿。</p><p>在这些快速增长的数字背后,隐藏的是开源项目为了赢得开发者而做出的各种宣传:硬核技术文章、社交活动、新媒体、周边礼物等,可以说是乱花渐欲迷人眼。那么对于开发者来说,如何能够在百花齐放的项目中,找出最适合自己公司的那一个呢?</p><p>这就会涉及到开源项目的各种指标:</p><ul><li><p>Star 数:这是最直接的指标,它代表的是这个项目吸引了多少开发者的关注,可以体现这个项目的 marketing 水平。如果这个项目有商业公司资金的 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 fd21170..0163b9b 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
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Using the Apache APISIX OpenID Connect Plugin for Okta Centralized Authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Using the Apache APISIX OpenID Connect Plugin for Okta Centralized Authentication | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react- [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html b/blog/2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html
index c2867a8..c806bdc 100644
--- a/blog/2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html
+++ b/blog/2021/08/18/Auth-with-Casbin-in-Apache-APISIX/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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 中使用 Casbin 进行授权 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="在 Apache APISIX 中使用 Casbin 进行授权 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="当我们在使用 Apache APISIX 时,可能想要在应用里添加复杂的授权逻辑。在此篇文章中,我们将 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -38,7 +38,7 @@ authz-casbin 插件可以把路由匹配和请求授权这两个功能很好地
 </span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            [matchers]</span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token string" style="display:inline-block;color: [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            &quot;policy&quot;: &quot;p, *, /, GET</span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            p, admin, *, *</span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            g, alice, admin&quot;,</span></div><div class="token-line" style="color:#393A34" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">            &quot;username&quot;: &quot;user&quot;</span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">        }</span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">    },</span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e31 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html b/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html
index c4f7b98..b3f107b 100644
--- a/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html
+++ b/blog/2021/08/19/go-makes-Apache-APISIX-better/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Go 让 Apache APISIX 如虎添翼 | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Go 让 Apache APISIX 如虎添翼 | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="@spacewander, Apache APISIX Committer from API7.ai."><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  w</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">Header</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">Add</span><span class="token punct [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>可以看到接口返回 hello 而且没有访问到任何上游。</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="设置-apache-apisix-(运行)"></a>设置 Apache APISIX (运行)<a class="hash-link" href="#设置-apache-apisix-(运行)" title="Direct link to heading">#</a></h3><p>这里以 go-runner 为例,只需把运行命令行配置在 ext-p [...]
 点击访问 <a href="https://github.com/apache/apisix-go-plugin-runner" target="_blank" rel="noopener noreferrer">apisix-go-plugin-runner</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="相关阅读"></a>相关阅读<a class="hash-link" href="#相关阅读" title="Direct link to heading">#</a></h2><p><a href="https://apisix.apache.org/blog/2021/06/21/use-Java-to-write-Apache-APISIX-plugins" target="_blank" rel="noopener noreferrer">如何用 Java 编写 Apache APISIX 插件</a></p></div></article><div></div><div  [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index cf10508..23c9a0e 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//blog"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 54b17fd..f1ccdfd 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//blog/page/2">< [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/3/index.html b/blog/page/3/index.html
index cab572b..98f5703 100644
--- a/blog/page/3/index.html
+++ b/blog/page/3/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//blog/page/3">< [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/page/4/index.html b/blog/page/4/index.html
index 44b95d4..b7d47c4 100644
--- a/blog/page/4/index.html
+++ b/blog/page/4/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX® --  Cloud-Native API Gateway"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//blog/page/4">< [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 80c32e0..7df9638 100644
--- a/docs/apisix/2.4/FAQ/index.html
+++ b/docs/apisix/2.4/FAQ/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/FAQ"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="d [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ Run the <code>luarocks config rocks_servers</code> command(this command is suppo
 </span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">These open issues may also help:</span></div><div 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 class="t [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Error: A newer Command Line Tools release is available.</span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain">https://developer.apple.com/downloa [...]
 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" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests" title="Direct link to heading">#</a></h2><p [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 0e351c3..06c7fd4 100644
--- a/docs/apisix/2.4/IGNORE_DOC/index.html
+++ b/docs/apisix/2.4/IGNORE_DOC/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/IGNORE_DOC"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 91ac031..45fcb11 100644
--- a/docs/apisix/2.4/admin-api/index.html
+++ b/docs/apisix/2.4/admin-api/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/admin-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -82,7 +82,7 @@
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" sty [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="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. [...]
 </span></div><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 17db281..077068c 100644
--- a/docs/apisix/2.4/architecture-design/index.html
+++ b/docs/apisix/2.4/architecture-design/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/architecture-design"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -44,7 +44,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#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></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 f6b6375..4c1c7f2 100644
--- a/docs/apisix/2.4/aws/index.html
+++ b/docs/apisix/2.4/aws/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/aws"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta d [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -46,7 +46,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div 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></div><div class [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 1d6a404..1533dfc 100644
--- a/docs/apisix/2.4/batch-processor/index.html
+++ b/docs/apisix/2.4/batch-processor/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/batch-processor"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#393A34"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Note: Please make sure th [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 bc86dd4..01da18e 100644
--- a/docs/apisix/2.4/benchmark/index.html
+++ b/docs/apisix/2.4/benchmark/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/benchmark"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><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" id="latency-1"></a>Latency<a class="hash-link" href="#latenc [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 d99928f..83ef67f 100644
--- a/docs/apisix/2.4/control-api/index.html
+++ b/docs/apisix/2.4/control-api/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/control-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helme [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,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" 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"><div tabindex="0" class="prism-code language-json codeBlock_23N [...]
 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 a62d394..1045de5 100644
--- a/docs/apisix/2.4/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.4/customize-nginx-configuration/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/customize-nginx-configuration"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version"  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-line" style=" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token scalar stri [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 2956717..af30d2a 100644
--- a/docs/apisix/2.4/debug-function/index.html
+++ b/docs/apisix/2.4/debug-function/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/debug-function"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class= [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 35143cf..a922c25 100644
--- a/docs/apisix/2.4/discovery/consul_kv/index.html
+++ b/docs/apisix/2.4/discovery/consul_kv/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/discovery/consul_kv"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,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" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#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></div><div 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></div><div class=" [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 be84286..a60ba44 100644
--- a/docs/apisix/2.4/discovery/index.html
+++ b/docs/apisix/2.4/discovery/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/discovery"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2. [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -33,7 +33,7 @@
 </span></div><div 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></div><div 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 GMT [...]
 </span></div><div 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></div><div 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></div><div class="token-line" style [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 b38214c..5d3b149 100644
--- a/docs/apisix/2.4/dns/index.html
+++ b/docs/apisix/2.4/dns/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" name="d [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m3 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 2d131e9..5bf4db4 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
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -58,7 +58,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></div><div class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct link to heading">#</a [...]
 </span></div><div class="token-line" style="color:#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></div><div 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></div><div 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></div><div 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 cla [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 a3577e7..ba24288 100644
--- a/docs/apisix/2.4/getting-started/index.html
+++ b/docs/apisix/2.4/getting-started/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/getting-started"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -43,7 +43,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" 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 (The default ports are: 9080, 9443, 2379).
 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"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 03b6ea1..7f4ace1 100644
--- a/docs/apisix/2.4/grpc-proxy/index.html
+++ b/docs/apisix/2.4/grpc-proxy/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/grpc-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li></ul><h3><a aria-hidden="true" tabindex="-1" c [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 8744f06..646813f 100644
--- a/docs/apisix/2.4/health-check/index.html
+++ b/docs/apisix/2.4/health-check/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/health-check"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span> [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 10d49a4..494f8a7 100644
--- a/docs/apisix/2.4/how-to-build/index.html
+++ b/docs/apisix/2.4/how-to-build/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/how-to-build"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ see how to do it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="
 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"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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></div><div class="token- [...]
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color: [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 77794ac..b085bf8 100644
--- a/docs/apisix/2.4/https/index.html
+++ b/docs/apisix/2.4/https/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/https"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" nam [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -39,7 +39,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></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 c5f7307..bbd1950 100644
--- a/docs/apisix/2.4/install-dependencies/index.html
+++ b/docs/apisix/2.4/install-dependencies/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/install-dependencies"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><met [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -43,7 +43,7 @@
 </span></div><div 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></div><div 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></div></div></div><butt [...]
 </span></div><div 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></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain" style="di [...]
 </span></div><div 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></div><div 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:#393A [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 c2f5a54..b626feb 100644
--- a/docs/apisix/2.4/mtls/index.html
+++ b/docs/apisix/2.4/mtls/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/mtls"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-reac [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div 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></div><div 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 pla [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 8adcc29..f10534b 100644
--- a/docs/apisix/2.4/plugin-develop/index.html
+++ b/docs/apisix/2.4/plugin-develop/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugin-develop"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -57,7 +57,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" 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><p>Take a look at example-plugin plugin:</p>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    return {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></div><div class="token-line" style="color:#393A34"><span c [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 9292bee..fe930ef 100644
--- a/docs/apisix/2.4/plugin-interceptors/index.html
+++ b/docs/apisix/2.4/plugin-interceptors/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugin-interceptors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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/plug [...]
 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></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 cd664ec..3682b2a 100644
--- a/docs/apisix/2.4/plugins/api-breaker/index.html
+++ b/docs/apisix/2.4/plugins/api-breaker/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/api-breaker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div 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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>D [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 582d364..e7dd70a 100644
--- a/docs/apisix/2.4/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.4/plugins/authz-keycloak/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/authz-keycloak"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -50,7 +50,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"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class="to [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspect [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 161c0a7..6fcd6f2 100644
--- a/docs/apisix/2.4/plugins/basic-auth/index.html
+++ b/docs/apisix/2.4/plugins/basic-auth/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/basic-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 ce6b038..dc51d6c 100644
--- a/docs/apisix/2.4/plugins/batch-requests/index.html
+++ b/docs/apisix/2.4/plugins/batch-requests/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/batch-requests"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 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" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Default enabled</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-configure"></a>How To Configure<a class="hash-link" href="#how-to-configure" title="Direct link to heading">#</a></h2><p>By def [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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/ad [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 2b47e42..6369c3c 100644
--- a/docs/apisix/2.4/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/consumer-restriction/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/consumer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></div><div 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></div><div class="token-line" style="c [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 7f42204..52fee52 100644
--- a/docs/apisix/2.4/plugins/cors/index.html
+++ b/docs/apisix/2.4/plugins/cors/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/cors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and configure <code>cors</code> plugin.</p><div clas [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 4d54f4b..f959b6f 100644
--- a/docs/apisix/2.4/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/dubbo-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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="token  [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 90a9d13..feaea08 100644
--- a/docs/apisix/2.4/plugins/echo/index.html
+++ b/docs/apisix/2.4/plugins/echo/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/echo"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 bbdc237..406609f 100644
--- a/docs/apisix/2.4/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.4/plugins/error-log-logger/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/error-log-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><met [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr> [...]
 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"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctu [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 efacbb8..e86c6b9 100644
--- a/docs/apisix/2.4/plugins/fault-injection/index.html
+++ b/docs/apisix/2.4/plugins/fault-injection/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/fault-injection"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockContainer_K1bP" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediate [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 fc384d2..a92fc56 100644
--- a/docs/apisix/2.4/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.4/plugins/grpc-transcode/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/grpc-transcode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div 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></div></div></div><button type="button" aria-label="Copy code to clipboard" [...]
 </span></div><div 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><span  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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/11 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 6bb4771..3d218ac 100644
--- a/docs/apisix/2.4/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.4/plugins/hmac-auth/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/hmac-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-h [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -34,7 +34,7 @@
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 5167f3f..bb1cdc0 100644
--- a/docs/apisix/2.4/plugins/http-logger/index.html
+++ b/docs/apisix/2.4/plugins/http-logger/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/http-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 9dd44f1..4c72d45 100644
--- a/docs/apisix/2.4/plugins/index.html
+++ b/docs/apisix/2.4/plugins/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet="true" [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.4/stand-alone">stand alone mode</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/ap [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 93de124..f74cc93 100644
--- a/docs/apisix/2.4/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ip-restriction/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/ip-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 227dd1e..b6b9033 100644
--- a/docs/apisix/2.4/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.4/plugins/jwt-auth/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/jwt-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ You may need to use <a href="/docs/apisix/2.4/plugin-interceptors">interceptors<
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 c70ebc0..94a7442 100644
--- a/docs/apisix/2.4/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.4/plugins/kafka-logger/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/kafka-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,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" 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"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class=" [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 8bb0da5..2b38996 100644
--- a/docs/apisix/2.4/plugins/key-auth/index.html
+++ b/docs/apisix/2.4/plugins/key-auth/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/key-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">40 [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 91f8812..32f9762 100644
--- a/docs/apisix/2.4/plugins/limit-conn/index.html
+++ b/docs/apisix/2.4/plugins/limit-conn/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/limit-conn"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 41d581e..bb69601 100644
--- a/docs/apisix/2.4/plugins/limit-count/index.html
+++ b/docs/apisix/2.4/plugins/limit-count/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/limit-count"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></div><div 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></div><div 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 ope [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 02fe9ce..46a225c 100644
--- a/docs/apisix/2.4/plugins/limit-req/index.html
+++ b/docs/apisix/2.4/plugins/limit-req/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/limit-req"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-h [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 fdc7ba8..29b6b34 100644
--- a/docs/apisix/2.4/plugins/log-rotate/index.html
+++ b/docs/apisix/2.4/plugins/log-rotate/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/log-rotate"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -28,7 +28,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></div><div class="token-line" style="color:#393A [...]
 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"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctu [...]
 </span></div><div 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></div><div 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 class=" [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 5d47331..975f6c8 100644
--- a/docs/apisix/2.4/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.4/plugins/mqtt-proxy/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/mqtt-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 balance by <code>client_id</code> of MQTT.</p><p>And this plugin both support MQTT protocol <a href="http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html" target="_blank" rel="noopener noreferrer">3.1.*</a> and <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html" target="_blank" rel="noopener noreferrer">5.0</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link t [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">...</span><span class="token p [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 9005fee..5432551 100644
--- a/docs/apisix/2.4/plugins/node-status/index.html
+++ b/docs/apisix/2.4/plugins/node-status/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/node-status"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,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"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</sp [...]
 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"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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; -X [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 13fd5c0..44dab3f 100644
--- a/docs/apisix/2.4/plugins/openid-connect/index.html
+++ b/docs/apisix/2.4/plugins/openid-connect/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/openid-connect"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -50,7 +50,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"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</sp [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 1c8c538..01d9f32 100644
--- a/docs/apisix/2.4/plugins/prometheus/index.html
+++ b/docs/apisix/2.4/plugins/prometheus/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/prometheus"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -28,7 +28,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 stri [...]
 these metric data.</p><p>For example like this:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 pl [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 4ec1961..9f4ac81 100644
--- a/docs/apisix/2.4/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.4/plugins/proxy-cache/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/proxy-cache"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>http status is &#x27;200&#x27; and the response header contains &#x27;Apisix-Cache-Status&#x27; to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</li></ol><div cl [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache area <code>disk_c [...]
 </span></div><div class="token-line" style="color:#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></div><div 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 ope [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 570374e..dcd97b6 100644
--- a/docs/apisix/2.4/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.4/plugins/proxy-mirror/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/proxy-mirror"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>Since the specified mirror address is 127.0.0.1:9797, so to verify whether this plugin is in effect, we need to confirm on the service with port 9797.
 For example, we can start a simple server:  python -m SimpleHTTPServer 9797</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex= [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 5697eb9..97da274 100644
--- a/docs/apisix/2.4/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/proxy-rewrite/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/proxy-rewrite"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 9642f77..6f842de 100644
--- a/docs/apisix/2.4/plugins/redirect/index.html
+++ b/docs/apisix/2.4/plugins/redirect/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/redirect"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is an example of r [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 6d6d194..d0aebb5 100644
--- a/docs/apisix/2.4/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/referer-restriction/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/referer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 whitelisting request header Referrers.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>whitelist</td><td>array[string]</td><td>required</td><td></td><td></td><td>List of hostname to whitelist. The hostname can be started with <co [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 00b1520..45cec44 100644
--- a/docs/apisix/2.4/plugins/request-id/index.html
+++ b/docs/apisix/2.4/plugins/request-id/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/request-id"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td>string</td><td>optional</td><td>&quot;X-Requ [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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/5  [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 377b20c..c59d8cb 100644
--- a/docs/apisix/2.4/plugins/request-validation/index.html
+++ b/docs/apisix/2.4/plugins/request-validation/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/request-validation"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"> [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 json-schema to validate the schema. The plugin can be used to validate the headers and body data.</p><p>For more information on schema, refer to <a href="https://github.com/api7/jsonschema" target="_blank" rel="noopener noreferrer">JSON schema</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requi [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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/5  [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 0c0db16..5cb3faa 100644
--- a/docs/apisix/2.4/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/response-rewrite/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/response-rewrite"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><met [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 </span></div><div 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 dfb3a27..15d16c6 100644
--- a/docs/apisix/2.4/plugins/server-info/index.html
+++ b/docs/apisix/2.4/plugins/server-info/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/server-info"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 c796b1b..a4f5ac6 100644
--- a/docs/apisix/2.4/plugins/serverless/index.html
+++ b/docs/apisix/2.4/plugins/serverless/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/serverless"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 3b67270..18dc6ac 100644
--- a/docs/apisix/2.4/plugins/skywalking/index.html
+++ b/docs/apisix/2.4/plugins/skywalking/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/skywalking"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -39,7 +39,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token namespace" style="opacity:0.7">org</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">springframework</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><sp [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">/**</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * @author cyxinda</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * @create 2020-05-29 14:02</span></div><div class="token [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 ae7ea95..bc9aff9 100644
--- a/docs/apisix/2.4/plugins/sls-logger/index.html
+++ b/docs/apisix/2.4/plugins/sls-logger/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/sls-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a href="https://help.aliyun.com/document_detail/29008 [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 31244ce..f633f9d 100644
--- a/docs/apisix/2.4/plugins/syslog/index.html
+++ b/docs/apisix/2.4/plugins/syslog/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/syslog"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 ea66678..c0819e5 100644
--- a/docs/apisix/2.4/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.4/plugins/tcp-logger/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/tcp-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 6f7607c..e05ee53 100644
--- a/docs/apisix/2.4/plugins/traffic-split/index.html
+++ b/docs/apisix/2.4/plugins/traffic-split/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/traffic-split"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -37,7 +37,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#39 [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification of two <code> [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to remove the  [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 ba5ef87..3ee4520 100644
--- a/docs/apisix/2.4/plugins/udp-logger/index.html
+++ b/docs/apisix/2.4/plugins/udp-logger/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/udp-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.4/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the UDP server.</td></tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 a50fd0f..12156e5 100644
--- a/docs/apisix/2.4/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.4/plugins/uri-blocker/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/uri-blocker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div 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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>D [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 b3d97db..3346fcf 100644
--- a/docs/apisix/2.4/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.4/plugins/wolf-rbac/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/wolf-rbac"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-h [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -46,7 +46,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></div><div 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></div><div 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"  [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 a459a03..ee67e2e 100644
--- a/docs/apisix/2.4/plugins/zipkin/index.html
+++ b/docs/apisix/2.4/plugins/zipkin/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/plugins/zipkin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></div><div class="token-line" style="color:#393A34"><s [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 8b76103..c62b01e 100644
--- a/docs/apisix/2.4/powered-by/index.html
+++ b/docs/apisix/2.4/powered-by/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/powered-by"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 1b836f2..bc5aa18 100644
--- a/docs/apisix/2.4/profile/index.html
+++ b/docs/apisix/2.4/profile/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/profile"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:v [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -30,7 +30,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></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 d8307fb..c417dff 100644
--- a/docs/apisix/2.4/router-radixtree/index.html
+++ b/docs/apisix/2.4/router-radixtree/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/router-radixtree"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 </spa [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If you need to pass a graphql body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/router-radixtree.md" target="_blank" rel="noreferrer noopener"><svg fill= [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 feac289..21adb7d 100644
--- a/docs/apisix/2.4/stand-alone/index.html
+++ b/docs/apisix/2.4/stand-alone/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/stand-alone"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react- [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,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"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" style [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 16d74d0..6aa074b 100644
--- a/docs/apisix/2.4/stream-proxy/index.html
+++ b/docs/apisix/2.4/stream-proxy/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.4/stream-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.4"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 By default, no any stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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> [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 1f6b040..e423864 100644
--- a/docs/apisix/2.5/FAQ/index.html
+++ b/docs/apisix/2.5/FAQ/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/FAQ"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="d [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ For China mainland users, you can use the <code>luarocks.cn</code> as the luaroc
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Error: A newer Command Line Tools release is available.</span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain">https://developer.apple.com/downloa [...]
 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" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests" title="Direct link to heading">#</a></h2><p [...]
 </span></div><div 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></div><div 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></div><div class="token-line" style="color:#393A34"><span cl [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 3131e70..d4c0d60 100644
--- a/docs/apisix/2.5/IGNORE_DOC/index.html
+++ b/docs/apisix/2.5/IGNORE_DOC/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/IGNORE_DOC"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 393ec47..af406d1 100644
--- a/docs/apisix/2.5/admin-api/index.html
+++ b/docs/apisix/2.5/admin-api/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/admin-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -84,7 +84,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"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token [...]
 Therefore it is the backup of <code>127.0.0.1</code>.</p><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/ssl/{id}</p><p><em>Description</em>:SSL.</p><blockquote><p>Request Methods:</p></blockquote><table><thead><tr><th>M [...]
 </span></div><div class="token-line" style="color:#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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 8002149..32f2870 100644
--- a/docs/apisix/2.5/architecture-design/apisix/index.html
+++ b/docs/apisix/2.5/architecture-design/apisix/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/apisix"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 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"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation [...]
 </span></div><div 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></div><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 5092325..716f50d 100644
--- a/docs/apisix/2.5/architecture-design/consumer/index.html
+++ b/docs/apisix/2.5/architecture-design/consumer/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/consumer"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34 [...]
 </span></div><div 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></div><div 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><span cl [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_ [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 93aa359..5309fdb 100644
--- a/docs/apisix/2.5/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.5/architecture-design/debug-mode/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/debug-mode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><met [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#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></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 bbb2057..b64888b 100644
--- a/docs/apisix/2.5/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.5/architecture-design/global-rule/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/global-rule"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><m [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token pl [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 918556b..0cbc55a 100644
--- a/docs/apisix/2.5/architecture-design/index.html
+++ b/docs/apisix/2.5/architecture-design/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -44,7 +44,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#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></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 9fceca7..fde8c17 100644
--- a/docs/apisix/2.5/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin-config/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/plugin-config"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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></div><div 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></div><div 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:#e31 [...]
 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"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 e99a706..422cfd7 100644
--- a/docs/apisix/2.5/architecture-design/plugin/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/plugin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 c80d1f4..bcf7812 100644
--- a/docs/apisix/2.5/architecture-design/route/index.html
+++ b/docs/apisix/2.5/architecture-design/route/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/route"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div 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></div><div 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 GMT [...]
 </span></div><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 7ce9a5e..8f4c5d8 100644
--- a/docs/apisix/2.5/architecture-design/router/index.html
+++ b/docs/apisix/2.5/architecture-design/router/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/router"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 d6a1bc8..e533645 100644
--- a/docs/apisix/2.5/architecture-design/script/index.html
+++ b/docs/apisix/2.5/architecture-design/script/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/script"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 2bedef7..fac27da 100644
--- a/docs/apisix/2.5/architecture-design/service/index.html
+++ b/docs/apisix/2.5/architecture-design/service/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/service"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div 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></div><div 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><span  [...]
 </span></div><div 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></div><div class="token-line" style="c [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 f767400..c06a48f 100644
--- a/docs/apisix/2.5/architecture-design/upstream/index.html
+++ b/docs/apisix/2.5/architecture-design/upstream/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/architecture-design/upstream"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 0071770..858c378 100644
--- a/docs/apisix/2.5/aws/index.html
+++ b/docs/apisix/2.5/aws/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/aws"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta d [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -46,7 +46,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div 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></div><div class [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 52dbdc7..6e575be 100644
--- a/docs/apisix/2.5/batch-processor/index.html
+++ b/docs/apisix/2.5/batch-processor/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/batch-processor"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#393A34"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Note: Please make sure th [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 928f7d4..79c55ff 100644
--- a/docs/apisix/2.5/benchmark/index.html
+++ b/docs/apisix/2.5/benchmark/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/benchmark"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="latency-1"></a>Latency<a class="hash-link" href="#latenc [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 7d2e27a..76ef106 100644
--- a/docs/apisix/2.5/control-api/index.html
+++ b/docs/apisix/2.5/control-api/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/control-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helme [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,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" 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"><div tabindex="0" class="prism-code language-json codeBlock_23N [...]
 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 e530725..a04a95d 100644
--- a/docs/apisix/2.5/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.5/customize-nginx-configuration/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/customize-nginx-configuration"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version"  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-line" style=" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token scalar stri [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.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 d81c028..2dc0321 100644
--- a/docs/apisix/2.5/debug-function/index.html
+++ b/docs/apisix/2.5/debug-function/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/debug-function"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class= [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/consul_kv/index.html b/docs/apisix/2.5/discovery/consul_kv/index.html
index 419b77c..b85fddf 100644
--- a/docs/apisix/2.5/discovery/consul_kv/index.html
+++ b/docs/apisix/2.5/discovery/consul_kv/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/discovery/consul_kv"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,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" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#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></div><div 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></div><div class=" [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/dns/index.html b/docs/apisix/2.5/discovery/dns/index.html
index 475ea9f..191d690 100644
--- a/docs/apisix/2.5/discovery/dns/index.html
+++ b/docs/apisix/2.5/discovery/dns/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/discovery/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</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></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3- [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/discovery/index.html b/docs/apisix/2.5/discovery/index.html
index 1adb481..66ce592 100644
--- a/docs/apisix/2.5/discovery/index.html
+++ b/docs/apisix/2.5/discovery/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/discovery"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2. [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -35,7 +35,7 @@
 </span></div><div 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></div><div 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 GMT [...]
 </span></div><div 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></div><div 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></div><div class="token-line" style [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/dns/index.html b/docs/apisix/2.5/dns/index.html
index 6ba1202..efb620b 100644
--- a/docs/apisix/2.5/dns/index.html
+++ b/docs/apisix/2.5/dns/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" name="d [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m3 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html
index 7d2ee2c..aad0927 100644
--- a/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/examples/plugins-hmac-auth-generate-signature"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -58,7 +58,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></div><div class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct link to heading">#</a [...]
 </span></div><div class="token-line" style="color:#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></div><div 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></div><div 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></div><div 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 cla [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/getting-started/index.html b/docs/apisix/2.5/getting-started/index.html
index 7ccf85c..245a274 100644
--- a/docs/apisix/2.5/getting-started/index.html
+++ b/docs/apisix/2.5/getting-started/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/getting-started"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -43,7 +43,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" 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 (The default ports are: 9080, 9443, 2379).
 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"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/grpc-proxy/index.html b/docs/apisix/2.5/grpc-proxy/index.html
index d802973..00e95e5 100644
--- a/docs/apisix/2.5/grpc-proxy/index.html
+++ b/docs/apisix/2.5/grpc-proxy/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/grpc-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li></ul><h3><a aria-hidden="true" tabindex="-1" c [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/health-check/index.html b/docs/apisix/2.5/health-check/index.html
index aead98d..28b383d 100644
--- a/docs/apisix/2.5/health-check/index.html
+++ b/docs/apisix/2.5/health-check/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/health-check"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span> [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/how-to-build/index.html b/docs/apisix/2.5/how-to-build/index.html
index 99a9938..f77af1d 100644
--- a/docs/apisix/2.5/how-to-build/index.html
+++ b/docs/apisix/2.5/how-to-build/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/how-to-build"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -36,7 +36,7 @@ Here is an example:</p><div class="codeBlockContainer_K1bP"><div class="codeBloc
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color: [...]
 If you need those features, you can build OpenResty with
 <a href="https://raw.githubusercontent.com/api7/apisix-build-tools/master/build-apisix-openresty.sh" target="_blank" rel="noopener noreferrer">this build script</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/how-to-build.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/https/index.html b/docs/apisix/2.5/https/index.html
index 0a36a98..5400004 100644
--- a/docs/apisix/2.5/https/index.html
+++ b/docs/apisix/2.5/https/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/https"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" nam [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -39,7 +39,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></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/https.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/install-dependencies/index.html b/docs/apisix/2.5/install-dependencies/index.html
index f690412..291a2aa 100644
--- a/docs/apisix/2.5/install-dependencies/index.html
+++ b/docs/apisix/2.5/install-dependencies/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/install-dependencies"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><met [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -43,7 +43,7 @@
 </span></div><div 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></div><div 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></div></div></div><butt [...]
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain">brew services start etcd</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div 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></div><div 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:#393A [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/mtls/index.html b/docs/apisix/2.5/mtls/index.html
index 241068a..8baf605 100644
--- a/docs/apisix/2.5/mtls/index.html
+++ b/docs/apisix/2.5/mtls/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication for Admin API | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/mtls"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5">< [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">admin_api_mtls</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">admin_ssl_ca_cert</span><span class="token punctuation" style="color:#393A34">:</span>< [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugin-develop/index.html b/docs/apisix/2.5/plugin-develop/index.html
index 317e2c4..0e199f4 100644
--- a/docs/apisix/2.5/plugin-develop/index.html
+++ b/docs/apisix/2.5/plugin-develop/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugin-develop"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -56,7 +56,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.5/plugin-interceptors">interceptors</a> to protect it.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="register-control-api"></a>Register control API<a class="hash-link" href="#register-control-api" title="Direct link to heading">#</a></h3><p>If you only want to expose the API to the localhost or intranet, you can expose it via <a href="/docs/apisix/2.5/control-api">Control API</a>.</p><p>Take a look at example-plugin plugin:</p>< [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">function _M.control_api()</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    return {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">            methods = {&quot;GET&quot;},</span></div><div class="token-line" style="color:#393A34"><span c [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugin-interceptors/index.html b/docs/apisix/2.5/plugin-interceptors/index.html
index d1a79c7..01b1403 100644
--- a/docs/apisix/2.5/plugin-interceptors/index.html
+++ b/docs/apisix/2.5/plugin-interceptors/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugin-interceptors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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/plug [...]
 the name of plugin which you want to run and the <code>conf</code> is the configuration of the
 plugin.</p><p>Currently we only support a subset of plugins which can be run as interceptors.</p><p>Supported interceptors:</p><ul><li><a href="/docs/apisix/2.5/plugins/ip-restriction">ip-restriction</a></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugin-interceptors.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/api-breaker/index.html b/docs/apisix/2.5/plugins/api-breaker/index.html
index bd03923..eb97883 100644
--- a/docs/apisix/2.5/plugins/api-breaker/index.html
+++ b/docs/apisix/2.5/plugins/api-breaker/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/api-breaker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div 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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>D [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/authz-keycloak/index.html b/docs/apisix/2.5/plugins/authz-keycloak/index.html
index 47302df..6d07662 100644
--- a/docs/apisix/2.5/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.5/plugins/authz-keycloak/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/authz-keycloak"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -50,7 +50,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"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">docker run -e </span><span class="to [...]
 However, Keycloak&#x27;s official adapters (Java, JS) also provides path matching by querying Keycloak paths dynamically, and
 lazy loading the paths to identity resources. Future version on authz-plugin will support this functionality.</p></li><li><p>Support to read scope and configurations from the Keycloak JSON File</p></li></ul></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/authz-keycloak.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspect [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/basic-auth/index.html b/docs/apisix/2.5/plugins/basic-auth/index.html
index 4d81897..a6889e7 100644
--- a/docs/apisix/2.5/plugins/basic-auth/index.html
+++ b/docs/apisix/2.5/plugins/basic-auth/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/basic-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/batch-requests/index.html b/docs/apisix/2.5/plugins/batch-requests/index.html
index b0701c7..c32fd7c 100644
--- a/docs/apisix/2.5/plugins/batch-requests/index.html
+++ b/docs/apisix/2.5/plugins/batch-requests/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/batch-requests"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 You may need to use <a href="/docs/apisix/2.5/plugin-interceptors">interceptors</a> to protect it.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Default enabled</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-configure"></a>How To Configure<a class="hash-link" href="#how-to-configure" title="Direct link to heading">#</a></h2><p>By def [...]
 You can configure it via <code>apisix/admin/plugin_metadata/batch-requests</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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/ad [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/consumer-restriction/index.html b/docs/apisix/2.5/plugins/consumer-restriction/index.html
index 211a823..c8e77b2 100644
--- a/docs/apisix/2.5/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.5/plugins/consumer-restriction/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/consumer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></div><div 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></div><div class="token-line" style="c [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/cors/index.html b/docs/apisix/2.5/plugins/cors/index.html
index 60a5270..a15c76d 100644
--- a/docs/apisix/2.5/plugins/cors/index.html
+++ b/docs/apisix/2.5/plugins/cors/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/cors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 When using <code>**</code>, you must fully understand that it introduces some security risks, such as CSRF, so make sure that this security level meets your expectations before using it。</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-enable"></a>How To Enable<a class="hash-link" href="#how-to-enable" title="Direct link to heading">#</a></h2><p>Create a <code>Route</code> or <code>Service</code> object and configure <code>cors</code> plugin.</p><div clas [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/dubbo-proxy/index.html b/docs/apisix/2.5/plugins/dubbo-proxy/index.html
index 246bd1b..81424b4 100644
--- a/docs/apisix/2.5/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.5/plugins/dubbo-proxy/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/dubbo-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -30,7 +30,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
 you need to comment out in the <code>config.yaml</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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="token  [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/echo/index.html b/docs/apisix/2.5/plugins/echo/index.html
index 1b29eba..ba8b4d4 100644
--- a/docs/apisix/2.5/plugins/echo/index.html
+++ b/docs/apisix/2.5/plugins/echo/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/echo"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/error-log-logger/index.html b/docs/apisix/2.5/plugins/error-log-logger/index.html
index b32b859..98c93b4 100644
--- a/docs/apisix/2.5/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.5/plugins/error-log-logger/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/error-log-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><met [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.5/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr> [...]
 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"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctu [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/fault-injection/index.html b/docs/apisix/2.5/plugins/fault-injection/index.html
index c8c1f41..ea49b3a 100644
--- a/docs/apisix/2.5/plugins/fault-injection/index.html
+++ b/docs/apisix/2.5/plugins/fault-injection/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/fault-injection"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -44,7 +44,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="2"><li>The request header <code>apikey</code> is successfully matched, and the request parameters are missing, and fault injection is performed:</li></ol><div class="codeBlockContainer_K1bP" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Fault Injection</span><span class="token operator" style="color:#393A34">!</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><ol start="3"><li>Both request parameters and request headers fail to match, and fault injection is not performed:</li></ol><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediate [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/grpc-transcode/index.html b/docs/apisix/2.5/plugins/grpc-transcode/index.html
index f7e933e..37cc989 100644
--- a/docs/apisix/2.5/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.5/plugins/grpc-transcode/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/grpc-transcode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div 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></div></div></div><button type="button" aria-label="Copy code to clipboard" [...]
 </span></div><div 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><span  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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/11 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/hmac-auth/index.html b/docs/apisix/2.5/plugins/hmac-auth/index.html
index 9c3e295..041cc43 100644
--- a/docs/apisix/2.5/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.5/plugins/hmac-auth/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/hmac-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-h [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -36,7 +36,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/http-logger/index.html b/docs/apisix/2.5/plugins/http-logger/index.html
index 361fd72..b91e632 100644
--- a/docs/apisix/2.5/plugins/http-logger/index.html
+++ b/docs/apisix/2.5/plugins/http-logger/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/http-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/index.html b/docs/apisix/2.5/plugins/index.html
index dc6abfe..915e398 100644
--- a/docs/apisix/2.5/plugins/index.html
+++ b/docs/apisix/2.5/plugins/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet="true" [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 the its execution will be skipped.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="hot-reload-in-stand-alone-mode"></a>Hot reload in stand-alone mode<a class="hash-link" href="#hot-reload-in-stand-alone-mode" title="Direct link to heading">#</a></h3><p>For stand-alone mode, see plugin related section in <a href="/docs/apisix/2.5/stand-alone">stand alone mode</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/ap [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/ip-restriction/index.html b/docs/apisix/2.5/plugins/ip-restriction/index.html
index 788820f..7a05aeb 100644
--- a/docs/apisix/2.5/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.5/plugins/ip-restriction/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/ip-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/jwt-auth/index.html b/docs/apisix/2.5/plugins/jwt-auth/index.html
index 373b117..d87990e 100644
--- a/docs/apisix/2.5/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.5/plugins/jwt-auth/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/jwt-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ You may need to use <a href="/docs/apisix/2.5/plugin-interceptors">interceptors<
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" style="color:#393A34">&lt [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/kafka-logger/index.html b/docs/apisix/2.5/plugins/kafka-logger/index.html
index b2bc1b1..d72f9be 100644
--- a/docs/apisix/2.5/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.5/plugins/kafka-logger/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/kafka-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,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" 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"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class=" [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/key-auth/index.html b/docs/apisix/2.5/plugins/key-auth/index.html
index 7f19ec8..2ac1ce0 100644
--- a/docs/apisix/2.5/plugins/key-auth/index.html
+++ b/docs/apisix/2.5/plugins/key-auth/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/key-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">40 [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/limit-conn/index.html b/docs/apisix/2.5/plugins/limit-conn/index.html
index a8648fd..0f64f76 100644
--- a/docs/apisix/2.5/plugins/limit-conn/index.html
+++ b/docs/apisix/2.5/plugins/limit-conn/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/limit-conn"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token operator" [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/limit-count/index.html b/docs/apisix/2.5/plugins/limit-count/index.html
index e6804db..a9ca3f4 100644
--- a/docs/apisix/2.5/plugins/limit-count/index.html
+++ b/docs/apisix/2.5/plugins/limit-count/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/limit-count"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ which mean the total number of requests and the remaining number of requests tha
 </span></div><div 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></div><div 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 ope [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/limit-req/index.html b/docs/apisix/2.5/plugins/limit-req/index.html
index a20e0d8..7378ab9 100644
--- a/docs/apisix/2.5/plugins/limit-req/index.html
+++ b/docs/apisix/2.5/plugins/limit-req/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/limit-req"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-h [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/log-rotate/index.html b/docs/apisix/2.5/plugins/log-rotate/index.html
index d6c381b..8bf95f1 100644
--- a/docs/apisix/2.5/plugins/log-rotate/index.html
+++ b/docs/apisix/2.5/plugins/log-rotate/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/log-rotate"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -28,7 +28,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">$ ll logs</span></div><div class="token-line" style="color:#393A [...]
 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"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">plugins</span><span class="token punctu [...]
 </span></div><div 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></div><div 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 class=" [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/mqtt-proxy/index.html b/docs/apisix/2.5/plugins/mqtt-proxy/index.html
index 7128e94..db70c2f 100644
--- a/docs/apisix/2.5/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.5/plugins/mqtt-proxy/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/mqtt-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 balance by <code>client_id</code> of MQTT.</p><p>And this plugin both support MQTT protocol <a href="http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html" target="_blank" rel="noopener noreferrer">3.1.*</a> and <a href="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html" target="_blank" rel="noopener noreferrer">5.0</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link t [...]
 For example, the following configuration represents listening on the 9100 TCP port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">...</span><span class="token p [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/node-status/index.html b/docs/apisix/2.5/plugins/node-status/index.html
index d73b89d..1c731c1 100644
--- a/docs/apisix/2.5/plugins/node-status/index.html
+++ b/docs/apisix/2.5/plugins/node-status/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/node-status"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,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"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">plugins:                          </span><span class="token comment" style="color:#999988;font-style:italic"># plugin list</sp [...]
 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"><div tabindex="0" class="prism-code language-sh codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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; -X [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/openid-connect/index.html b/docs/apisix/2.5/plugins/openid-connect/index.html
index ae8ab16..7413a2a 100644
--- a/docs/apisix/2.5/plugins/openid-connect/index.html
+++ b/docs/apisix/2.5/plugins/openid-connect/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/openid-connect"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -50,7 +50,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"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</sp [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/prometheus/index.html b/docs/apisix/2.5/plugins/prometheus/index.html
index 27a1b75..39aed2e 100644
--- a/docs/apisix/2.5/plugins/prometheus/index.html
+++ b/docs/apisix/2.5/plugins/prometheus/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/prometheus"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ these metric data.</p><p>For example like this:</p><div class="codeBlockContaine
 | consumer | The <code>consumer_name</code> of the consumer that matches the request. If it does not match, the default value is an empty string. |
 | node     | The <code>ip</code> of the upstream node. |</p></li><li><p><code>Info</code>: the information of APISIX node.</p></li></ul><p>Here is the original metric data of APISIX:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token p [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/proxy-cache/index.html b/docs/apisix/2.5/plugins/proxy-cache/index.html
index 211fa11..a680707 100644
--- a/docs/apisix/2.5/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.5/plugins/proxy-cache/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/proxy-cache"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>http status is &#x27;200&#x27; and the response header contains &#x27;Apisix-Cache-Status&#x27; to indicate that the plug-in is enabled.</p></blockquote><ol start="3"><li>Verify that the data is cached and request the above address again:</li></ol><div cl [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>The response header <code>Apisix-Cache-Status</code> value has changed to HIT, indicating that the data has been cached</p></blockquote><p>Example 3: Specifying cache_zone as <code>invalid_disk_cache</code> is inconsistent with the cache area <code>disk_c [...]
 </span></div><div class="token-line" style="color:#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></div><div 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 ope [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/proxy-mirror/index.html b/docs/apisix/2.5/plugins/proxy-mirror/index.html
index 0c2c367..e4814cb 100644
--- a/docs/apisix/2.5/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.5/plugins/proxy-mirror/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/proxy-mirror"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><blockquote><p>Since the specified mirror address is 127.0.0.1:9797, so to verify whether this plugin is in effect, we need to confirm on the service with port 9797.
 For example, we can start a simple server:  python -m SimpleHTTPServer 9797</p></blockquote><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex= [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/proxy-rewrite/index.html b/docs/apisix/2.5/plugins/proxy-rewrite/index.html
index ca9404c..bb84564 100644
--- a/docs/apisix/2.5/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.5/plugins/proxy-rewrite/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/proxy-rewrite"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/redirect/index.html b/docs/apisix/2.5/plugins/redirect/index.html
index f63b8b9..a8fe1c3 100644
--- a/docs/apisix/2.5/plugins/redirect/index.html
+++ b/docs/apisix/2.5/plugins/redirect/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/redirect"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token plain">.</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>We can check the response code and the response header <code>Location</code>.</p><p>It shows that the <code>redirect</code> plugin is in effect.</p><p> Here is an example of r [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/referer-restriction/index.html b/docs/apisix/2.5/plugins/referer-restriction/index.html
index 54f252b..bda1b02 100644
--- a/docs/apisix/2.5/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.5/plugins/referer-restriction/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/referer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 whitelisting request header Referrers.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>whitelist</td><td>array[string]</td><td>required</td><td></td><td></td><td>List of hostname to whitelist. The hostname can be started with <co [...]
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/request-id/index.html b/docs/apisix/2.5/plugins/request-id/index.html
index 9803095..f5c4688 100644
--- a/docs/apisix/2.5/plugins/request-id/index.html
+++ b/docs/apisix/2.5/plugins/request-id/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/request-id"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 API request. The plugin will not add a request id if the <code>header_name</code> is already present in the request.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>header_name</td><td>string</td><td>optional</td><td>&quot;X-Requ [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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/5  [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/request-validation/index.html b/docs/apisix/2.5/plugins/request-validation/index.html
index b224602..794a0ab 100644
--- a/docs/apisix/2.5/plugins/request-validation/index.html
+++ b/docs/apisix/2.5/plugins/request-validation/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/request-validation"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"> [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 json-schema to validate the schema. The plugin can be used to validate the headers and body data.</p><p>For more information on schema, refer to <a href="https://github.com/api7/jsonschema" target="_blank" rel="noopener noreferrer">JSON schema</a> for more information.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requi [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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/5  [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/response-rewrite/index.html b/docs/apisix/2.5/plugins/response-rewrite/index.html
index 4750716..f71f748 100644
--- a/docs/apisix/2.5/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.5/plugins/response-rewrite/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/response-rewrite"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><met [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 </span></div><div 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/server-info/index.html b/docs/apisix/2.5/plugins/server-info/index.html
index 3c50bee..a6e6614 100644
--- a/docs/apisix/2.5/plugins/server-info/index.html
+++ b/docs/apisix/2.5/plugins/server-info/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/server-info"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/serverless/index.html b/docs/apisix/2.5/plugins/serverless/index.html
index f255bf6..a6fb81c 100644
--- a/docs/apisix/2.5/plugins/serverless/index.html
+++ b/docs/apisix/2.5/plugins/serverless/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/serverless"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 which indicates that the specified function is in effect.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to disable the serverless plugin, it is very simple,
 you can delete the corresponding json configuration in the plugin configuration,
 no need to restart the service, it will take effect immediately:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/skywalking/index.html b/docs/apisix/2.5/plugins/skywalking/index.html
index 5e2500c..3bb417d 100644
--- a/docs/apisix/2.5/plugins/skywalking/index.html
+++ b/docs/apisix/2.5/plugins/skywalking/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/skywalking"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -39,7 +39,7 @@ you need to comment out in the <code>config.yaml</code>:</p><div class="codeBloc
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token namespace" style="opacity:0.7">org</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">springframework</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><sp [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">/**</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * @author cyxinda</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * @create 2020-05-29 14:02</span></div><div class="token [...]
 update the file of agent/config/agent.config</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/sls-logger/index.html b/docs/apisix/2.5/plugins/sls-logger/index.html
index 4451a82..da092a3 100644
--- a/docs/apisix/2.5/plugins/sls-logger/index.html
+++ b/docs/apisix/2.5/plugins/sls-logger/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/sls-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 <a href="/docs/apisix/2.5/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Requirement</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>required</td><td>IP address or the Hostname of the TCP server, please reference ali cloud log <a href="https://help.aliyun.com/document_detail/29008 [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="test-plugin"></a>Test Plugin<a class="hash-link" href="#test-plugin" title="Direct link to heading">#</a></h2><ul><li>success:</li></ul><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div  [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/syslog/index.html b/docs/apisix/2.5/plugins/syslog/index.html
index 921e482..ad227aa 100644
--- a/docs/apisix/2.5/plugins/syslog/index.html
+++ b/docs/apisix/2.5/plugins/syslog/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/syslog"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/tcp-logger/index.html b/docs/apisix/2.5/plugins/tcp-logger/index.html
index 8005e77..01a8456 100644
--- a/docs/apisix/2.5/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.5/plugins/tcp-logger/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/tcp-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.5/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the TCP server.</td></tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/traffic-split/index.html b/docs/apisix/2.5/plugins/traffic-split/index.html
index a4b1114..894a9ac 100644
--- a/docs/apisix/2.5/plugins/traffic-split/index.html
+++ b/docs/apisix/2.5/plugins/traffic-split/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/traffic-split"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -38,7 +38,7 @@ service_name, discovery_type, checks, retries, desc, scheme, labels, create_time
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">world </span><span class="token number" style="color:#36acaa">1981</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#39 [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>After 5 requests, the service of port <code>1981</code> was hit 3 times, and the service of port <code>1980</code> was hit 2 times.</p><blockquote><ol start="3"><li>The expression verification of two <code> [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello </span><span class="token number" style="color:#36acaa">1980</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>Disable Plugin<a class="hash-link" href="#disable-plugin" title="Direct link to heading">#</a></h2><p>When you want to remove the  [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/udp-logger/index.html b/docs/apisix/2.5/plugins/udp-logger/index.html
index a04b829..12b966f 100644
--- a/docs/apisix/2.5/plugins/udp-logger/index.html
+++ b/docs/apisix/2.5/plugins/udp-logger/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/udp-logger"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 <a href="/docs/apisix/2.5/batch-processor">Batch-Processor</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="attributes"></a>Attributes<a class="hash-link" href="#attributes" title="Direct link to heading">#</a></h2><table><thead><tr><th>Name</th><th>Type</th><th>Requirement</th><th>Default</th><th>Valid</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>string</td><td>required</td><td></td><td></td><td>IP address or the Hostname of the UDP server.</td></tr> [...]
 APISIX plugins are hot-reloaded, therefore no need to restart APISIX.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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://12 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/uri-blocker/index.html b/docs/apisix/2.5/plugins/uri-blocker/index.html
index aba11dd..9ce8c98 100644
--- a/docs/apisix/2.5/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.5/plugins/uri-blocker/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/uri-blocker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div 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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="disable-plugin"></a>D [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/wolf-rbac/index.html b/docs/apisix/2.5/plugins/wolf-rbac/index.html
index 6e760d5..b512d6a 100644
--- a/docs/apisix/2.5/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.5/plugins/wolf-rbac/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/wolf-rbac"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-h [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -46,7 +46,7 @@ The rbac feature is provided by <a href="https://github.com/iGeeky/wolf" target=
 </span></div><div 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></div><div 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"  [...]
 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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/plugins/zipkin/index.html b/docs/apisix/2.5/plugins/zipkin/index.html
index ee266e1..177e2b6 100644
--- a/docs/apisix/2.5/plugins/zipkin/index.html
+++ b/docs/apisix/2.5/plugins/zipkin/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/plugins/zipkin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ no need to restart the service, it will take effect immediately:</p><div class="
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    tracer := GetTracer(...)</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">    // use middleware to extract parentID from http header that injected by APISIX</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    r.Use(func(c *gin.Context) {</span></div><div class="token-line" style="color:#393A34"><span class="token plain">        span := this.Tracer.Extract(b3.ExtractHTTP(c.Request))</span></div><div class="token-line" style="color:#393A34"><s [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/plugins/zipkin.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAsp [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/powered-by/index.html b/docs/apisix/2.5/powered-by/index.html
index 6fefe2b..12f7dcf 100644
--- a/docs/apisix/2.5/powered-by/index.html
+++ b/docs/apisix/2.5/powered-by/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/powered-by"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/profile/index.html b/docs/apisix/2.5/profile/index.html
index 22a3241..c51a692 100644
--- a/docs/apisix/2.5/profile/index.html
+++ b/docs/apisix/2.5/profile/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/profile"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:v [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -30,7 +30,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></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/profile.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/router-radixtree/index.html b/docs/apisix/2.5/router-radixtree/index.html
index c79c529..6ded102 100644
--- a/docs/apisix/2.5/router-radixtree/index.html
+++ b/docs/apisix/2.5/router-radixtree/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/router-radixtree"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 here is an simple example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 </spa [...]
 data from the request body. This limitation is configured via:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If you need to pass a graphql body which is larger than the limitation, you can increase the value in <code>conf/config.yaml</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/router-radixtree.md" target="_blank" rel="noreferrer noopener"><svg fill= [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/stand-alone/index.html b/docs/apisix/2.5/stand-alone/index.html
index bcba4cb..11fa011 100644
--- a/docs/apisix/2.5/stand-alone/index.html
+++ b/docs/apisix/2.5/stand-alone/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/stand-alone"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react- [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,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"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">routes</span><span class="token punctuation" style [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.5/stream-proxy/index.html b/docs/apisix/2.5/stream-proxy/index.html
index fdf3f27..60d0f9e 100644
--- a/docs/apisix/2.5/stream-proxy/index.html
+++ b/docs/apisix/2.5/stream-proxy/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.5/stream-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.5"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 By default, no any stream proxy is enabled.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly yaml"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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> [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/FAQ/index.html b/docs/apisix/2.6/FAQ/index.html
index 7d97a3a..ffe444b 100644
--- a/docs/apisix/2.6/FAQ/index.html
+++ b/docs/apisix/2.6/FAQ/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/FAQ"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="d [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -32,7 +32,7 @@ For China mainland users, you can use the <code>luarocks.cn</code> as the luaroc
 See the <code>Hot reload</code> section in <a href="/docs/apisix/2.6/plugins">plugins</a> for how to do that.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests"></a>How to make APISIX listen on multiple ports when handling HTTP or HTTPS requests?<a class="hash-link" href="#how-to-make-apisix-listen-on-multiple-ports-when-handling-http-or-https-requests" title="Direct link to heading">#</a></h2><p [...]
 </span></div><div 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></div><div 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></div><div class="token-line" style="color:#393A34"><span  [...]
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">..</span><span class="token punctuation" style="color:#393A34">..</span><span class="token punctuation" style="color:#393A34">..</span></div></div></div><but [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/IGNORE_DOC/index.html b/docs/apisix/2.6/IGNORE_DOC/index.html
index 425a027..a557a0c 100644
--- a/docs/apisix/2.6/IGNORE_DOC/index.html
+++ b/docs/apisix/2.6/IGNORE_DOC/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/IGNORE_DOC"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/admin-api/index.html b/docs/apisix/2.6/admin-api/index.html
index a3c6acc..7959828 100644
--- a/docs/apisix/2.6/admin-api/index.html
+++ b/docs/apisix/2.6/admin-api/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/admin-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -86,7 +86,7 @@ This feature requires APISIX to run on <a href="/docs/apisix/how-to-build.md#6-b
 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"><div tabindex="0" class="prism-code language-json codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token [...]
 Therefore it is the backup of <code>127.0.0.1</code>.</p><blockquote><p>Response Parameters</p></blockquote><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2><p><em>API</em>:/apisix/admin/ssl/{id}</p><p><em>Description</em>:SSL.</p><blockquote><p>Request Methods:</p></blockquote><table><thead><tr><th>M [...]
 </span></div><div class="token-line" style="color:#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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/apisix/index.html b/docs/apisix/2.6/architecture-design/apisix/index.html
index 4549ce3..de5c9dd 100644
--- a/docs/apisix/2.6/architecture-design/apisix/index.html
+++ b/docs/apisix/2.6/architecture-design/apisix/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/apisix"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 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"><div tabindex="0" class="prism-code language-yaml codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">apisix</span><span class="token punctuation [...]
 </span></div><div 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></div><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/consumer/index.html b/docs/apisix/2.6/architecture-design/consumer/index.html
index 81b8dad..c40c6de 100644
--- a/docs/apisix/2.6/architecture-design/consumer/index.html
+++ b/docs/apisix/2.6/architecture-design/consumer/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/consumer"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Use the <a href="/docs/apisix/2.6/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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34 [...]
 </span></div><div 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></div><div 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><span cl [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/architecture-design/consumer.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_ [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/debug-mode/index.html b/docs/apisix/2.6/architecture-design/debug-mode/index.html
index 98468fa..79ff9a5 100644
--- a/docs/apisix/2.6/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.6/architecture-design/debug-mode/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/debug-mode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><met [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#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></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/global-rule/index.html b/docs/apisix/2.6/architecture-design/global-rule/index.html
index 777b751..091aec2 100644
--- a/docs/apisix/2.6/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.6/architecture-design/global-rule/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/global-rule"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><m [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 We can register a global <a href="/docs/apisix/2.6/architecture-design/plugin">Plugin</a> with <code>GlobalRule</code>:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token pl [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/index.html b/docs/apisix/2.6/architecture-design/index.html
index 3d21721..aef6d43 100644
--- a/docs/apisix/2.6/architecture-design/index.html
+++ b/docs/apisix/2.6/architecture-design/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -44,7 +44,7 @@ will be merged into it. The same plugin in the plugin config will override one i
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">hello world</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>If the information can be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="advanced-debug-mode"></a>Advanced Debug Mode<a class="hash-link" href="#advanced-debug-mode" title="Direct link to heading">#</a></h3><p>Enable advanced debug mode by modifying the configuration in <code>conf/debug.yaml</code> file. Because there will be a check every second, only the checker reads the <code>#END</code> flag, and the file  [...]
 </span></div><div class="token-line" style="color:#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></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/plugin-config/index.html b/docs/apisix/2.6/architecture-design/plugin-config/index.html
index eba0f7b..a6fbd8a 100644
--- a/docs/apisix/2.6/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.6/architecture-design/plugin-config/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/plugin-config"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6 [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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></div><div 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></div><div 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:#e31 [...]
 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"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/plugin/index.html b/docs/apisix/2.6/architecture-design/plugin/index.html
index 376f667..9d819c7 100644
--- a/docs/apisix/2.6/architecture-design/plugin/index.html
+++ b/docs/apisix/2.6/architecture-design/plugin/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/plugin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/route/index.html b/docs/apisix/2.6/architecture-design/route/index.html
index c150607..4a9cd17 100644
--- a/docs/apisix/2.6/architecture-design/route/index.html
+++ b/docs/apisix/2.6/architecture-design/route/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/route"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div 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></div><div 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 GMT [...]
 </span></div><div 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/router/index.html b/docs/apisix/2.6/architecture-design/router/index.html
index 175fa91..e4276c4 100644
--- a/docs/apisix/2.6/architecture-design/router/index.html
+++ b/docs/apisix/2.6/architecture-design/router/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/router"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/script/index.html b/docs/apisix/2.6/architecture-design/script/index.html
index 75d1369..6d0c5e3 100644
--- a/docs/apisix/2.6/architecture-design/script/index.html
+++ b/docs/apisix/2.6/architecture-design/script/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/script"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/service/index.html b/docs/apisix/2.6/architecture-design/service/index.html
index 7ccd304..43c8c37 100644
--- a/docs/apisix/2.6/architecture-design/service/index.html
+++ b/docs/apisix/2.6/architecture-design/service/index.html
@@ -18,15 +18,15 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/service"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div><div 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></div><div 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><span  [...]
 </span></div><div 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></div><div class="token-line" style="c [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/architecture-design/upstream/index.html b/docs/apisix/2.6/architecture-design/upstream/index.html
index ab90f7e..09de098 100644
--- a/docs/apisix/2.6/architecture-design/upstream/index.html
+++ b/docs/apisix/2.6/architecture-design/upstream/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/architecture-design/upstream"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/aws/index.html b/docs/apisix/2.6/aws/index.html
index 9742c9d..ad0deaf 100644
--- a/docs/apisix/2.6/aws/index.html
+++ b/docs/apisix/2.6/aws/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/aws"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta d [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -46,7 +46,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">Non-authoritative answer:</span></div><div class="token-line" style="color:#393A34"><span class="token plain">Name:   apiSi-PhpSe-FOL2MM4TW7G8-09029e095ab36fcc.elb.us-west-2.amazonaws.com</span></div><div 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></div><div class [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-service.png">
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-define-route.png"></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="validation"></a>Validation<a class="hash-link" href="#validation" title="Direct link to heading">#</a></h2><p>OK. Let&#x27;s test the <code>/index.php</code> on <code>{apiSix.ApiSixServiceServiceURL}/index.php</code></p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/aws-caddy-php-we [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/batch-processor/index.html b/docs/apisix/2.6/batch-processor/index.html
index 1e345a8..46a4f81 100644
--- a/docs/apisix/2.6/batch-processor/index.html
+++ b/docs/apisix/2.6/batch-processor/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/batch-processor"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -34,7 +34,7 @@ argument and the batch configuration as the second parameter.</p><div class="cod
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">if batch_processor then</span></div><div class="token-line" style="color:#393A34"><span class="token plain">    batch_processor:push({hello=&#x27;world&#x27;})</span></div><div class="token-line" style="color:#393A34"><span class="token plain">end</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Note: Please make sure th [...]
 The timer to flush the batch runs based on the <code>inactive_timeout</code> configuration. Thus, for optimal usage,
 keep the <code>inactive_timeout</code> smaller than the <code>buffer_duration</code>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/batch-processor.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/benchmark/index.html b/docs/apisix/2.6/benchmark/index.html
index 7492b80..7f46488 100644
--- a/docs/apisix/2.6/benchmark/index.html
+++ b/docs/apisix/2.6/benchmark/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/benchmark"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,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"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
 and the response size was 1KB.</p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="qps-1"></a>QPS<a class="hash-link" href="#qps-1" title="Direct link to heading">#</a></h4><p>The x-axis means the size of CPU core, and the y-axis is QPS.</p><p><img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/benchmark-2.jpg" alt="benchmark-2"></p><h4><a aria-hidden="true" tabindex="-1" class="anchor" id="latency-1"></a>Latency<a class="hash-link" href="#latenc [...]
 <img src="https://raw.githubusercontent.com/apache/apisix/master/docs/assets/images/flamegraph-2.jpg" alt="flamegraph-2"></p><p>And if you want to run the benchmark test in your machine, you should run another Nginx to listen 80 port.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="to [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/control-api/index.html b/docs/apisix/2.6/control-api/index.html
index c4104a0..cb19c3a 100644
--- a/docs/apisix/2.6/control-api/index.html
+++ b/docs/apisix/2.6/control-api/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/control-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helme [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -29,7 +29,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" 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.6/health-check">health check</a> status in the format below:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly json"><div tabindex="0" class="prism-code language-json codeBlock_23N [...]
 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.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/customize-nginx-configuration/index.html b/docs/apisix/2.6/customize-nginx-configuration/index.html
index c4537ec..6fb1709 100644
--- a/docs/apisix/2.6/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.6/customize-nginx-configuration/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/customize-nginx-configuration"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version"  [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,7 @@
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token plain">                req_status_show;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">                allow 127.0.0.1;</span></div><div class="token-line" style=" [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">        chunked_transfer_encoding on;</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div><div 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></div><div class="token-line" style="color:#393A34"><span class="token scalar stri [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/debug-function/index.html b/docs/apisix/2.6/debug-function/index.html
index 3dce271..8f0483d 100644
--- a/docs/apisix/2.6/debug-function/index.html
+++ b/docs/apisix/2.6/debug-function/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/debug-function"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>It has a response header of <code>X-APISIX-Upstream-Status: 502</code>.</p><blockquote><p>Example 2: <code>502</code> response status code comes from <code>APISIX</code></p></blockquote><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class= [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/discovery/consul_kv/index.html b/docs/apisix/2.6/discovery/consul_kv/index.html
index abf7b5c..83128fc 100644
--- a/docs/apisix/2.6/discovery/consul_kv/index.html
+++ b/docs/apisix/2.6/discovery/consul_kv/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/discovery/consul_kv"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -27,7 +27,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" id="configuration-for-discovery-client"></a>Configuration for discovery client<a class="hash-link" href="#configuration-for-discovery-client" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="configuration-for-consul-kv"></a>Configuration for Consul KV<a class="hash-link" [...]
 </span></div><div class="token-line" style="color:#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></div><div 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></div><div class=" [...]
 To avoid confusion, use the full consul key url path as service name in practice.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="upstream-setting"></a>Upstream setting<a class="hash-link" href="#upstream-setting" title="Direct link to heading">#</a></h3><p>Here is an example of routing a request with a URL of &quot;/*&quot; to a service which named &quot;<a href="http://127.0.0.1:8500/v1/kv/upstreams/webpages/%22" target="_blank" rel="noopener noreferrer">http://127.0.0.1: [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/discovery/dns/index.html b/docs/apisix/2.6/discovery/dns/index.html
index 09db918..6bcad03 100644
--- a/docs/apisix/2.6/discovery/dns/index.html
+++ b/docs/apisix/2.6/discovery/dns/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/discovery/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</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></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3- [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/discovery/eureka/index.html b/docs/apisix/2.6/discovery/eureka/index.html
index 207a032..7174659 100644
--- a/docs/apisix/2.6/discovery/eureka/index.html
+++ b/docs/apisix/2.6/discovery/eureka/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/discovery/eureka"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helme [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 reading from <a href="/docs/apisix/2.6/discovery#supported-discovery-registries">Supported discovery registries</a>.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/discovery/eureka.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit p [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/discovery/index.html b/docs/apisix/2.6/discovery/index.html
index 80222e5..fc335e7 100644
--- a/docs/apisix/2.6/discovery/index.html
+++ b/docs/apisix/2.6/discovery/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/discovery"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2. [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -35,7 +35,7 @@
 </span></div><div 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></div><div 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 GMT [...]
 </span></div><div 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></div><div 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></div><div class="token-line" style [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/discovery/nacos/index.html b/docs/apisix/2.6/discovery/nacos/index.html
index 01209e0..5fd65d6 100644
--- a/docs/apisix/2.6/discovery/nacos/index.html
+++ b/docs/apisix/2.6/discovery/nacos/index.html
@@ -18,13 +18,13 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/discovery/nacos"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/dns/index.html b/docs/apisix/2.6/dns/index.html
index 0f7d66d..65b276b 100644
--- a/docs/apisix/2.6/dns/index.html
+++ b/docs/apisix/2.6/dns/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet="true" name="d [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -31,7 +31,7 @@ noisy).  In the presence of records containing weights greater
 than 0, records with weight 0 should have a very small chance of
 being selected.</p></blockquote><p>We treat weight 0 record has a weight of 1 so the node &quot;have a very small chance of
 being selected&quot;, which is also the common way to treat this type of record.</p><p>TODO: support priority.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/dns.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m3 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.6/examples/plugins-hmac-auth-generate-signature/index.html
index 352c4a2..1383256 100644
--- a/docs/apisix/2.6/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.6/examples/plugins-hmac-auth-generate-signature/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/examples/plugins-hmac-auth-generate-signature"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -58,7 +58,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">--to base64</span></div><div class="token-line" style="color:#393A34"><span class="token plain">ngx.say(ngx.encode_base64(digest))</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="shell"></a>Shell<a class="hash-link" href="#shell" title="Direct link to heading">#</a [...]
 </span></div><div class="token-line" style="color:#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></div><div 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></div><div 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></div><div 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 cla [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/getting-started/index.html b/docs/apisix/2.6/getting-started/index.html
index 6d34a21..4786dfa 100644
--- a/docs/apisix/2.6/getting-started/index.html
+++ b/docs/apisix/2.6/getting-started/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/getting-started"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-rea [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 the proxy-rewrite plugin to do it.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><div tabindex="0" class="prism-code language-bash codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div 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 [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/grpc-proxy/index.html b/docs/apisix/2.6/grpc-proxy/index.html
index 2f738d6..4939415 100644
--- a/docs/apisix/2.6/grpc-proxy/index.html
+++ b/docs/apisix/2.6/grpc-proxy/index.html
@@ -18,14 +18,14 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX® --  Cloud-Native API Gateway</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/grpc-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M [...]
 gRPC client -&gt; APISIX -&gt; gRPC/gRPCS server</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="parameters"></a>Parameters<a class="hash-link" href="#parameters" title="Direct link to heading">#</a></h2><ul><li><code>scheme</code>: the <code>scheme</code> of the route&#x27;s upstream must be <code>grpc</code> or <code>grpcs</code>.</li><li><code>uri</code>: format likes /service/method, Example:/helloworld.Greeter/SayHello</li></ul><h3><a aria-hidden="true" tabindex="-1" c [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/health-check/index.html b/docs/apisix/2.6/health-check/index.html
index bf8bc30..a8fa099 100644
--- a/docs/apisix/2.6/health-check/index.html
+++ b/docs/apisix/2.6/health-check/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/health-check"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.6"><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.bccc5514.js" as="script">
-<link rel="preload" href="/assets/js/main.4fb61845.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.99724df8.js" as="script">
+<link rel="preload" href="/assets/js/main.27f94c8c.js" as="script">
 </head>
 <body>
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@ you can use it for upstream.</p><p>Note:</p><ul><li>We only start the health che
 There won&#x27;t be any health check if an upstream is configured but isn&#x27;t in used.</li><li>If there is no healthy node can be chosen, we will continue to access the upstream.</li><li>We won&#x27;t start the health check when the upstream only has one node, as we will access
 it whether this unique node is healthy or not.</li></ul><p>The following is an example of health check:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><div tabindex="0" class="prism-code language-shell codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> http://127 [...]
 contains: <code>active</code> or <code>passive</code>.</p><ul><li><p><code>active</code>: To enable active health checks, you need to specify the configuration items under <code>checks.active</code> in the Upstream object configuration.</p><ul><li><p><code>active.timeout</code>: Socket timeout for active checks (in seconds), support decimals. For example <code>1.01</code> means <code>1010</code> milliseconds, <code>2</code> means <code>2000</code> milliseconds.</p></li><li><p><code>activ [...]
-<script src="/assets/js/runtime~main.bccc5514.js"></script>
-<script src="/assets/js/main.4fb61845.js"></script>
+<script src="/assets/js/runtime~main.99724df8.js"></script>
+<script src="/assets/js/main.27f94c8c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/how-to-build/index.html b/docs/apisix/2.6/how-to-build/index.html
index d56d690..4038aa1 100644
--- a/docs/apisix/2.6/how-to-build/index.html
+++ b/docs/apisix/2.6/how-to-build/index.html
@@ -18,8 +18,8 @@
 <link rel="alternate" type="application/rss+xml" href="/articles/rss.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/articles/atom.xml" title="Apache APISIX® --  Cloud-Native API Gateway Blog Atom Feed">
 <link 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" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/how-to-build"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2