You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by gi...@apache.org on 2021/07/27 09:39:41 UTC

[apisix-website] branch asf-site updated: deploy: 9222b47f850a696778ef47c30a2c5a07451659d4

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 1542801  deploy: 9222b47f850a696778ef47c30a2c5a07451659d4
1542801 is described below

commit 15428016c948e47991903d6efec2cb39df6732a1
Author: juzhiyuan <ju...@users.noreply.github.com>
AuthorDate: Tue Jul 27 09:39:29 2021 +0000

    deploy: 9222b47f850a696778ef47c30a2c5a07451659d4
---
 404.html                                           |   8 ++---
 ...21-07-27-1-9266db42637d7615e4d9dd779dbd56e6.png | Bin 0 -> 273572 bytes
 ...21-07-27-2-fcd83b17de4a21f12043b02f6a0debcd.png | Bin 0 -> 30638 bytes
 ...21-07-27-3-bac910a792a8fc4786c8fee933ab13dd.png | Bin 0 -> 13029 bytes
 ...21-07-27-4-27c896b48b4243bbcb6b015a638b7c07.png | Bin 0 -> 565370 bytes
 ...21-07-27-5-2146ab6cc8d4836f2981e57cbd607be7.png | Bin 0 -> 124996 bytes
 ...21-07-27-6-0626023112966dbfaf21aac70dcf068f.png | Bin 0 -> 113655 bytes
 ...21-07-27-7-0220ebe10f8083f7eb61da53e63fca5d.png | Bin 0 -> 118011 bytes
 assets/js/19945770.7cd82645.js                     |   1 -
 assets/js/19945770.ad41e01f.js                     |   1 +
 assets/js/2d8fe9ee.176684cc.js                     |   1 +
 assets/js/2d8fe9ee.219fef93.js                     |   1 -
 .../{3393d167.c359e7f8.js => 3393d167.649b3555.js} |   2 +-
 .../{358566b4.8cc4e342.js => 358566b4.c4f60685.js} |   2 +-
 .../{3dc9f306.335ac659.js => 3dc9f306.c745e53e.js} |   2 +-
 .../{358566b4.8cc4e342.js => 40fb2fae.ab983ed4.js} |   2 +-
 assets/js/40fb2fae.ee08ec07.js                     |   1 -
 .../{4c20006b.ef159aef.js => 4c20006b.77c0a1a6.js} |   2 +-
 .../{4f34f66f.9e424fc4.js => 4f34f66f.0be12944.js} |   2 +-
 .../{50facf8e.2621bc24.js => 50facf8e.7f110f1e.js} |   2 +-
 assets/js/542fd41f.76546769.js                     |   1 +
 assets/js/542fd41f.a513d2ca.js                     |   1 -
 .../{601c6eaa.908b40db.js => 601c6eaa.51303680.js} |   2 +-
 assets/js/60f19d40.a825c93e.js                     |   1 +
 .../{66fbb9c2.1eb15979.js => 66fbb9c2.5f4af35e.js} |   2 +-
 assets/js/7af3052c.5c16d6f2.js                     |   1 -
 assets/js/7af3052c.c335919f.js                     |   1 +
 assets/js/8c0d511b.6da8041b.js                     |   1 +
 assets/js/8c0d511b.93e7d6dd.js                     |   1 -
 assets/js/8e784bf3.17d89684.js                     |   1 +
 assets/js/8e784bf3.2cae276c.js                     |   1 -
 .../{8eb4e46b.85bf3977.js => 8eb4e46b.39ea04fc.js} |   2 +-
 .../{92999a1c.a5126880.js => 92999a1c.b9c81066.js} |   2 +-
 .../{95fdd571.af114e0a.js => 95fdd571.72e15aff.js} |   2 +-
 assets/js/adbb350b.249aac85.js                     |   1 -
 assets/js/adbb350b.c9b4aa3d.js                     |   1 +
 .../{b2b675dd.2d632461.js => b2b675dd.2675964c.js} |   2 +-
 .../{d18db9b0.b0505485.js => d18db9b0.e654b66f.js} |   2 +-
 assets/js/df0f9deb.2ce24c14.js                     |   1 +
 assets/js/main.88f0d7c0.js                         |   2 ++
 .../js/main.88f0d7c0.js.LICENSE.txt                |   0
 assets/js/main.d8422e6d.js                         |   2 --
 assets/js/runtime~main.2790b36f.js                 |   1 -
 assets/js/runtime~main.31e8c9cc.js                 |   1 +
 blog/2020/08/22/new-website/index.html             |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../21/run-ingress-apisix-on-amazon-eks/index.html |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html"                                    |  10 +++----
 .../index.html"                                    |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../06/29/release-apache-apisix-2.7-en/index.html  |  10 +++----
 .../06/29/release-apache-apisix-2.7/index.html     |  10 +++----
 .../etcd3-support-HTTP-access-perfectly/index.html |  10 +++----
 .../07/06/celebrate-200-contributors/index.html    |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  12 ++++----
 .../index.html                                     |  33 +++++++++++++++++++++
 blog/atom.xml                                      |   9 +++++-
 blog/index.html                                    |  10 +++----
 blog/page/2/index.html                             |  10 +++----
 blog/page/3/index.html                             |  10 +++----
 blog/rss.xml                                       |   9 +++++-
 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 ++---
 .../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 ++---
 .../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 ++---
 .../2.4/plugins/request-validation/index.html      |   8 ++---
 .../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 ++---
 .../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 ++---
 .../architecture-design/plugin-config/index.html   |   8 ++---
 .../2.5/architecture-design/plugin/index.html      |   8 ++---
 .../2.5/architecture-design/route/index.html       |   8 ++---
 .../2.5/architecture-design/router/index.html      |   8 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../2.5/plugins/request-validation/index.html      |   8 ++---
 .../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 ++---
 .../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 ++---
 .../architecture-design/plugin-config/index.html   |   8 ++---
 .../2.6/architecture-design/plugin/index.html      |   8 ++---
 .../2.6/architecture-design/route/index.html       |   8 ++---
 .../2.6/architecture-design/router/index.html      |   8 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../2.6/plugins/request-validation/index.html      |   8 ++---
 .../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 ++---
 .../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 ++---
 .../architecture-design/plugin-config/index.html   |   8 ++---
 .../2.7/architecture-design/plugin/index.html      |   8 ++---
 .../2.7/architecture-design/route/index.html       |   8 ++---
 .../2.7/architecture-design/router/index.html      |   8 ++---
 .../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 ++---
 .../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 ++---
 .../apisix/2.7/plugins/error-log-logger/index.html |   8 ++---
 .../2.7/plugins/ext-plugin-post-req/index.html     |   8 ++---
 .../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 ++---
 .../2.7/plugins/request-validation/index.html      |   8 ++---
 .../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/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 ++---
 .../apisix/architecture-design/consumer/index.html |   8 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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/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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 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-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 ++---
 .../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 ++---
 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/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 ++---
 .../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-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 ++---
 .../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/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/FAQ/index.html                      |   8 ++---
 docs/dashboard/I18N_USER_GUIDE/index.html          |   8 ++---
 docs/dashboard/IGNORE_DOC/index.html               |   8 ++---
 .../dashboard/IMPORT_OPENAPI_USER_GUIDE/index.html |   8 ++---
 docs/dashboard/USER_GUIDE/index.html               |   8 ++---
 docs/dashboard/api/api/index.html                  |   8 ++---
 docs/dashboard/back-end-tests/index.html           |   8 ++---
 docs/dashboard/deploy-with-docker/index.html       |   8 ++---
 docs/dashboard/deploy-with-rpm/index.html          |   8 ++---
 docs/dashboard/deploy/index.html                   |   8 ++---
 docs/dashboard/develop/index.html                  |   8 ++---
 docs/dashboard/front-end-e2e/index.html            |   8 ++---
 docs/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     |  10 +++----
 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                  |  10 +++----
 docs/docker/build/index.html                       |   8 ++---
 docs/docker/example/index.html                     |   8 ++---
 docs/docker/manual/index.html                      |   8 ++---
 docs/general/2fa/index.html                        |  10 +++----
 docs/general/committer-guide/index.html            |  10 +++----
 docs/general/contributor-guide/index.html          |  10 +++----
 .../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 +++----
 .../next/developer-guide/index.html                |   8 ++---
 .../next/getting-started/index.html                |   8 ++---
 docs/helm-chart/IGNORE_DOC/index.html              |  10 +++----
 docs/helm-chart/apisix-dashboard/index.html        |   8 ++---
 .../apisix-ingress-controller/index.html           |   8 ++---
 docs/helm-chart/apisix/index.html                  |   8 ++---
 docs/index.html                                    |   8 ++---
 docs/ingress-controller/FAQ/index.html             |   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 ++---
 .../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 +++----
 .../java-plugin-runner/next/development/index.html |   8 ++---
 .../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 ++---
 .../02/09/release-apache-apisix-2.3/index.html     |   8 ++---
 .../index.html                                     |   8 ++---
 .../release-apache-apisix-dashboard-2.4/index.html |   8 ++---
 .../03/05/release-apache-apisix-2.4/index.html     |   8 ++---
 .../index.html                                     |   8 ++---
 .../04/05/release-apache-apisix-2.5/index.html     |   8 ++---
 .../index.html                                     |   8 ++---
 .../release-apache-apisix-dashboard-2.6/index.html |   8 ++---
 .../05/24/release-apache-apisix-2.6/index.html     |   8 ++---
 .../index.html                                     |   8 ++---
 .../release-apache-apisix-dashboard-2.7/index.html |   8 ++---
 .../06/25/release-apache-apisix-2.7/index.html     |   8 ++---
 events/index.html                                  |   8 ++---
 events/page/2/index.html                           |   8 ++---
 help/index.html                                    |   8 ++---
 img/blog_img/2021-07-27-1.png                      | Bin 0 -> 273572 bytes
 img/blog_img/2021-07-27-2.png                      | Bin 0 -> 30638 bytes
 img/blog_img/2021-07-27-3.png                      | Bin 0 -> 13029 bytes
 img/blog_img/2021-07-27-4.png                      | Bin 0 -> 565370 bytes
 img/blog_img/2021-07-27-5.png                      | Bin 0 -> 124996 bytes
 img/blog_img/2021-07-27-6.png                      | Bin 0 -> 113655 bytes
 img/blog_img/2021-07-27-7.png                      | Bin 0 -> 118011 bytes
 index.html                                         |   8 ++---
 search/index.html                                  |  10 +++----
 sitemap.xml                                        |   2 +-
 team/index.html                                    |   8 ++---
 zh/404.html                                        |   8 ++---
 ...21-07-27-1-9266db42637d7615e4d9dd779dbd56e6.png | Bin 0 -> 273572 bytes
 ...21-07-27-2-fcd83b17de4a21f12043b02f6a0debcd.png | Bin 0 -> 30638 bytes
 ...21-07-27-3-bac910a792a8fc4786c8fee933ab13dd.png | Bin 0 -> 13029 bytes
 ...21-07-27-4-27c896b48b4243bbcb6b015a638b7c07.png | Bin 0 -> 565370 bytes
 ...21-07-27-5-2146ab6cc8d4836f2981e57cbd607be7.png | Bin 0 -> 124996 bytes
 ...21-07-27-6-0626023112966dbfaf21aac70dcf068f.png | Bin 0 -> 113655 bytes
 ...21-07-27-7-0220ebe10f8083f7eb61da53e63fca5d.png | Bin 0 -> 118011 bytes
 .../{01112930.5ae6b0d7.js => 01112930.f35dc36e.js} |   2 +-
 zh/assets/js/19945770.6752f802.js                  |   1 +
 zh/assets/js/19945770.d01a9e83.js                  |   1 -
 zh/assets/js/2d8fe9ee.40ae9949.js                  |   1 +
 zh/assets/js/2d8fe9ee.7370eeeb.js                  |   1 -
 .../{3393d167.1583f0a4.js => 3393d167.17bf589d.js} |   2 +-
 .../{358566b4.cdf6861f.js => 358566b4.78b16c46.js} |   2 +-
 .../{3a332aed.6f3f2830.js => 3a332aed.676e1995.js} |   2 +-
 .../{3dc9f306.baf347ea.js => 3dc9f306.3b02fffb.js} |   2 +-
 zh/assets/js/40fb2fae.29e6b930.js                  |   1 -
 .../assets/js/40fb2fae.8033870d.js                 |   2 +-
 .../{4c20006b.0d722487.js => 4c20006b.e946863a.js} |   2 +-
 .../{4f34f66f.68ddc176.js => 4f34f66f.7fe1ce82.js} |   2 +-
 .../{50facf8e.c4f2c661.js => 50facf8e.240fa524.js} |   2 +-
 zh/assets/js/542fd41f.3683342e.js                  |   1 -
 zh/assets/js/542fd41f.39e03d20.js                  |   1 +
 .../{601c6eaa.042d4052.js => 601c6eaa.54e5ad47.js} |   2 +-
 zh/assets/js/60f19d40.774fab57.js                  |   1 +
 .../{66fbb9c2.6b5c4d62.js => 66fbb9c2.abf9c6fb.js} |   2 +-
 zh/assets/js/7af3052c.3425adec.js                  |   1 -
 zh/assets/js/7af3052c.fb3729dd.js                  |   1 +
 zh/assets/js/8c0d511b.99ea048f.js                  |   1 +
 zh/assets/js/8c0d511b.abbfdf43.js                  |   1 -
 zh/assets/js/8e784bf3.26f587c4.js                  |   1 -
 zh/assets/js/8e784bf3.9b05b16a.js                  |   1 +
 .../{95fdd571.e927399b.js => 95fdd571.7d3b0385.js} |   2 +-
 zh/assets/js/adbb350b.8d153b94.js                  |   1 +
 zh/assets/js/adbb350b.9fc8622a.js                  |   1 -
 .../{d14629a4.58750e3b.js => d14629a4.0131114f.js} |   2 +-
 .../{d18db9b0.3ef52cc4.js => d18db9b0.836841d8.js} |   2 +-
 zh/assets/js/df0f9deb.8327538f.js                  |   1 +
 zh/assets/js/main.9945377f.js                      |   2 ++
 .../assets/js/main.9945377f.js.LICENSE.txt         |   0
 zh/assets/js/main.bac987a4.js                      |   2 --
 zh/assets/js/runtime~main.114fe289.js              |   1 +
 zh/assets/js/runtime~main.e717b06b.js              |   1 -
 zh/blog/2020/08/22/new-website/index.html          |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../21/run-ingress-apisix-on-amazon-eks/index.html |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html"                                    |  10 +++----
 .../index.html"                                    |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  10 +++----
 .../06/29/release-apache-apisix-2.7-en/index.html  |  10 +++----
 .../06/29/release-apache-apisix-2.7/index.html     |  10 +++----
 .../etcd3-support-HTTP-access-perfectly/index.html |  10 +++----
 .../07/06/celebrate-200-contributors/index.html    |  10 +++----
 .../index.html                                     |  10 +++----
 .../index.html                                     |  12 ++++----
 .../index.html                                     |  33 +++++++++++++++++++++
 zh/blog/atom.xml                                   |   9 +++++-
 zh/blog/index.html                                 |  10 +++----
 zh/blog/page/2/index.html                          |  10 +++----
 zh/blog/page/3/index.html                          |  10 +++----
 zh/blog/rss.xml                                    |   9 +++++-
 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 ++---
 .../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 ++---
 .../apisix/2.4/plugins/authz-keycloak/index.html   |   8 ++---
 zh/docs/apisix/2.4/plugins/basic-auth/index.html   |   8 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../architecture-design/plugin-config/index.html   |   8 ++---
 .../2.5/architecture-design/plugin/index.html      |   8 ++---
 .../2.5/architecture-design/route/index.html       |   8 ++---
 .../2.5/architecture-design/router/index.html      |   8 ++---
 .../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 ++---
 .../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 ++---
 .../apisix/2.5/plugins/authz-keycloak/index.html   |   8 ++---
 zh/docs/apisix/2.5/plugins/basic-auth/index.html   |   8 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../architecture-design/plugin-config/index.html   |   8 ++---
 .../2.6/architecture-design/plugin/index.html      |   8 ++---
 .../2.6/architecture-design/route/index.html       |   8 ++---
 .../2.6/architecture-design/router/index.html      |   8 ++---
 .../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 ++---
 .../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 ++---
 .../apisix/2.6/plugins/authz-keycloak/index.html   |   8 ++---
 zh/docs/apisix/2.6/plugins/basic-auth/index.html   |   8 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../architecture-design/plugin-config/index.html   |   8 ++---
 .../2.7/architecture-design/plugin/index.html      |   8 ++---
 .../2.7/architecture-design/route/index.html       |   8 ++---
 .../2.7/architecture-design/router/index.html      |   8 ++---
 .../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 ++---
 .../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 ++---
 .../apisix/2.7/plugins/authz-keycloak/index.html   |   8 ++---
 zh/docs/apisix/2.7/plugins/basic-auth/index.html   |   8 ++---
 .../apisix/2.7/plugins/batch-requests/index.html   |   8 ++---
 .../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 ++---
 .../2.7/plugins/ext-plugin-pre-req/index.html      |   8 ++---
 .../apisix/2.7/plugins/fault-injection/index.html  |   8 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../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/FAQ/index.html                      |   8 ++---
 zh/docs/apisix/IGNORE_DOC/index.html               |   8 ++---
 zh/docs/apisix/admin-api/index.html                |   8 ++---
 .../apisix/architecture-design/apisix/index.html   |   8 ++---
 .../apisix/architecture-design/consumer/index.html |   8 ++---
 .../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 ++---
 .../apisix/architecture-design/plugin/index.html   |   8 ++---
 .../apisix/architecture-design/route/index.html    |   8 ++---
 .../apisix/architecture-design/router/index.html   |   8 ++---
 .../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 ++---
 .../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 ++---
 .../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/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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../apisix/next/install-dependencies/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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../apisix/next/plugins/proxy-mirror/index.html    |   8 ++---
 .../apisix/next/plugins/proxy-rewrite/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 ++---
 .../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 ++---
 .../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-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 ++---
 .../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/redirect/index.html         |   8 ++---
 .../apisix/plugins/referer-restriction/index.html  |   8 ++---
 zh/docs/apisix/plugins/request-id/index.html       |   8 ++---
 .../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 ++---
 .../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 ++---
 .../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/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 ++---
 .../dashboard/next/deploy-with-docker/index.html   |   8 ++---
 zh/docs/dashboard/next/deploy-with-rpm/index.html  |  10 +++----
 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               |  10 +++----
 zh/docs/docker/build/index.html                    |   8 ++---
 zh/docs/docker/example/index.html                  |   8 ++---
 zh/docs/docker/manual/index.html                   |   8 ++---
 zh/docs/general/2fa/index.html                     |  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 ++---
 .../go-plugin-runner/developer-guide/index.html    |   8 ++---
 .../go-plugin-runner/getting-started/index.html    |   8 ++---
 .../go-plugin-runner/next/IGNORE_DOC/index.html    |  10 +++----
 .../next/developer-guide/index.html                |   8 ++---
 .../next/getting-started/index.html                |   8 ++---
 zh/docs/helm-chart/IGNORE_DOC/index.html           |  10 +++----
 zh/docs/helm-chart/apisix-dashboard/index.html     |   8 ++---
 .../apisix-ingress-controller/index.html           |   8 ++---
 zh/docs/helm-chart/apisix/index.html               |   8 ++---
 zh/docs/index.html                                 |   8 ++---
 zh/docs/ingress-controller/FAQ/index.html          |   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 ++---
 .../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 ++---
 .../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 ++---
 .../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 ++---
 .../02/09/release-apache-apisix-2.3/index.html     |   8 ++---
 .../index.html                                     |   8 ++---
 .../release-apache-apisix-dashboard-2.4/index.html |   8 ++---
 .../03/05/release-apache-apisix-2.4/index.html     |   8 ++---
 .../index.html                                     |   8 ++---
 .../04/05/release-apache-apisix-2.5/index.html     |   8 ++---
 .../index.html                                     |   8 ++---
 .../release-apache-apisix-dashboard-2.6/index.html |   8 ++---
 .../05/24/release-apache-apisix-2.6/index.html     |   8 ++---
 .../index.html                                     |   8 ++---
 .../release-apache-apisix-dashboard-2.7/index.html |   8 ++---
 .../06/25/release-apache-apisix-2.7/index.html     |   8 ++---
 zh/events/index.html                               |   8 ++---
 zh/events/page/2/index.html                        |   8 ++---
 zh/help/index.html                                 |   8 ++---
 zh/img/blog_img/2021-07-27-1.png                   | Bin 0 -> 273572 bytes
 zh/img/blog_img/2021-07-27-2.png                   | Bin 0 -> 30638 bytes
 zh/img/blog_img/2021-07-27-3.png                   | Bin 0 -> 13029 bytes
 zh/img/blog_img/2021-07-27-4.png                   | Bin 0 -> 565370 bytes
 zh/img/blog_img/2021-07-27-5.png                   | Bin 0 -> 124996 bytes
 zh/img/blog_img/2021-07-27-6.png                   | Bin 0 -> 113655 bytes
 zh/img/blog_img/2021-07-27-7.png                   | Bin 0 -> 118011 bytes
 zh/index.html                                      |   8 ++---
 zh/search/index.html                               |  10 +++----
 zh/sitemap.xml                                     |   2 +-
 zh/team/index.html                                 |   8 ++---
 1498 files changed, 5798 insertions(+), 5702 deletions(-)

diff --git a/404.html b/404.html
index f51041c..3fd11d1 100644
--- a/404.html
+++ b/404.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Page Not Found | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Page Not Found | Apache APISIX®"><meta data-react-helmet="true" property="og:image" content="https://apisix.apache.org//img/favicon.png"><meta data-react-helmet="true" name="twitter:image" content="https://apisix.apache.org//img/favicon.png"> [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/images/2021-07-27-1-9266db42637d7615e4d9dd779dbd56e6.png b/assets/images/2021-07-27-1-9266db42637d7615e4d9dd779dbd56e6.png
new file mode 100644
index 0000000..d7672dd
Binary files /dev/null and b/assets/images/2021-07-27-1-9266db42637d7615e4d9dd779dbd56e6.png differ
diff --git a/assets/images/2021-07-27-2-fcd83b17de4a21f12043b02f6a0debcd.png b/assets/images/2021-07-27-2-fcd83b17de4a21f12043b02f6a0debcd.png
new file mode 100644
index 0000000..a98a66c
Binary files /dev/null and b/assets/images/2021-07-27-2-fcd83b17de4a21f12043b02f6a0debcd.png differ
diff --git a/assets/images/2021-07-27-3-bac910a792a8fc4786c8fee933ab13dd.png b/assets/images/2021-07-27-3-bac910a792a8fc4786c8fee933ab13dd.png
new file mode 100644
index 0000000..8bb7a77
Binary files /dev/null and b/assets/images/2021-07-27-3-bac910a792a8fc4786c8fee933ab13dd.png differ
diff --git a/assets/images/2021-07-27-4-27c896b48b4243bbcb6b015a638b7c07.png b/assets/images/2021-07-27-4-27c896b48b4243bbcb6b015a638b7c07.png
new file mode 100644
index 0000000..7080d9f
Binary files /dev/null and b/assets/images/2021-07-27-4-27c896b48b4243bbcb6b015a638b7c07.png differ
diff --git a/assets/images/2021-07-27-5-2146ab6cc8d4836f2981e57cbd607be7.png b/assets/images/2021-07-27-5-2146ab6cc8d4836f2981e57cbd607be7.png
new file mode 100644
index 0000000..5b49c49
Binary files /dev/null and b/assets/images/2021-07-27-5-2146ab6cc8d4836f2981e57cbd607be7.png differ
diff --git a/assets/images/2021-07-27-6-0626023112966dbfaf21aac70dcf068f.png b/assets/images/2021-07-27-6-0626023112966dbfaf21aac70dcf068f.png
new file mode 100644
index 0000000..35c8922
Binary files /dev/null and b/assets/images/2021-07-27-6-0626023112966dbfaf21aac70dcf068f.png differ
diff --git a/assets/images/2021-07-27-7-0220ebe10f8083f7eb61da53e63fca5d.png b/assets/images/2021-07-27-7-0220ebe10f8083f7eb61da53e63fca5d.png
new file mode 100644
index 0000000..07bd897
Binary files /dev/null and b/assets/images/2021-07-27-7-0220ebe10f8083f7eb61da53e63fca5d.png differ
diff --git a/assets/js/19945770.7cd82645.js b/assets/js/19945770.7cd82645.js
deleted file mode 100644
index 0e6ad61..0000000
--- a/assets/js/19945770.7cd82645.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 a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/19945770.ad41e01f.js b/assets/js/19945770.ad41e01f.js
new file mode 100644
index 0000000..0266ed0
--- /dev/null
+++ b/assets/js/19945770.ad41e01f.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 a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/2d8fe9ee.176684cc.js b/assets/js/2d8fe9ee.176684cc.js
new file mode 100644
index 0000000..76938d7
--- /dev/null
+++ b/assets/js/2d8fe9ee.176684cc.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[58898],{66353:function(e){"use strict";e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"\u63d2\u4ef6\u7f16\u6392\u5728 Apache APISIX \u4e2d\u7684\u5e94\u7528\u4e0e\u5b9e\u8df5","permalink":"/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX"},{"title":"\u6df1\u5ea6\u5256\u6790 Apache APISIX Mesh Agent","permalink":"/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply"},{"title":"\u57fa\u4e8e Apache APISIX\uff [...]
\ No newline at end of file
diff --git a/assets/js/2d8fe9ee.219fef93.js b/assets/js/2d8fe9ee.219fef93.js
deleted file mode 100644
index 4611098..0000000
--- a/assets/js/2d8fe9ee.219fef93.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[58898],{66353:function(e){"use strict";e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"\u6df1\u5ea6\u5256\u6790 Apache APISIX Mesh Agent","permalink":"/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply"},{"title":"\u57fa\u4e8e Apache APISIX\uff0c\u65b0\u6d6a\u5fae\u535a API \u7f51\u5173\u7684\u5b9a\u5236\u5316\u5f00\u53d1\u4e4b\u8def","permalink":"/blog/2021/07/14/the-road-to-customization-of-Sina-Weibo-API-gateway-b [...]
\ No newline at end of file
diff --git a/assets/js/3393d167.c359e7f8.js b/assets/js/3393d167.649b3555.js
similarity index 89%
rename from assets/js/3393d167.c359e7f8.js
rename to assets/js/3393d167.649b3555.js
index cf40d2c..d569dab 100644
--- a/assets/js/3393d167.c359e7f8.js
+++ b/assets/js/3393d167.649b3555.js
@@ -1 +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
+(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.8cc4e342.js b/assets/js/358566b4.c4f60685.js
similarity index 90%
copy from assets/js/358566b4.8cc4e342.js
copy to assets/js/358566b4.c4f60685.js
index 0115482..ae53ff8 100644
--- a/assets/js/358566b4.8cc4e342.js
+++ b/assets/js/358566b4.c4f60685.js
@@ -1 +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
+(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.335ac659.js b/assets/js/3dc9f306.c745e53e.js
similarity index 55%
rename from assets/js/3dc9f306.335ac659.js
rename to assets/js/3dc9f306.c745e53e.js
index eafd06d..61b7188 100644
--- a/assets/js/3dc9f306.335ac659.js
+++ b/assets/js/3dc9f306.c745e53e.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return s},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 a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[38393],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return s},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 a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/358566b4.8cc4e342.js b/assets/js/40fb2fae.ab983ed4.js
similarity index 71%
copy from assets/js/358566b4.8cc4e342.js
copy to assets/js/40fb2fae.ab983ed4.js
index 0115482..c724ce9 100644
--- a/assets/js/358566b4.8cc4e342.js
+++ b/assets/js/40fb2fae.ab983ed4.js
@@ -1 +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
+(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.ee08ec07.js b/assets/js/40fb2fae.ee08ec07.js
deleted file mode 100644
index 5871062..0000000
--- a/assets/js/40fb2fae.ee08ec07.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 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.ef159aef.js b/assets/js/4c20006b.77c0a1a6.js
similarity index 80%
rename from assets/js/4c20006b.ef159aef.js
rename to assets/js/4c20006b.77c0a1a6.js
index 65196e1..6cee89f 100644
--- a/assets/js/4c20006b.ef159aef.js
+++ b/assets/js/4c20006b.77c0a1a6.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[91012],{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 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
+(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/4f34f66f.9e424fc4.js b/assets/js/4f34f66f.0be12944.js
similarity index 98%
rename from assets/js/4f34f66f.9e424fc4.js
rename to assets/js/4f34f66f.0be12944.js
index 2f9feec..c052785 100644
--- a/assets/js/4f34f66f.9e424fc4.js
+++ b/assets/js/4f34f66f.0be12944.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[93330],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},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
+(self.webpackChunk=self.webpackChunk||[]).push([[93330],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return s},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/50facf8e.2621bc24.js b/assets/js/50facf8e.7f110f1e.js
similarity index 57%
rename from assets/js/50facf8e.2621bc24.js
rename to assets/js/50facf8e.7f110f1e.js
index e24ac13..8800f68 100644
--- a/assets/js/50facf8e.2621bc24.js
+++ b/assets/js/50facf8e.7f110f1e.js
@@ -1 +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
+(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.76546769.js b/assets/js/542fd41f.76546769.js
new file mode 100644
index 0000000..f33adb0
--- /dev/null
+++ b/assets/js/542fd41f.76546769.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.a513d2ca.js b/assets/js/542fd41f.a513d2ca.js
deleted file mode 100644
index b84fbb8..0000000
--- a/assets/js/542fd41f.a513d2ca.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 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/601c6eaa.908b40db.js b/assets/js/601c6eaa.51303680.js
similarity index 79%
rename from assets/js/601c6eaa.908b40db.js
rename to assets/js/601c6eaa.51303680.js
index 87fd83c..2df256c 100644
--- a/assets/js/601c6eaa.908b40db.js
+++ b/assets/js/601c6eaa.51303680.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[97117],{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 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
+(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/60f19d40.a825c93e.js b/assets/js/60f19d40.a825c93e.js
new file mode 100644
index 0000000..e4340aa
--- /dev/null
+++ b/assets/js/60f19d40.a825c93e.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[69682],{3905:function(e,n,t){"use strict";t.d(n,{Zo:function(){return u},kt:function(){return d}});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function p(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t [...]
\ No newline at end of file
diff --git a/assets/js/66fbb9c2.1eb15979.js b/assets/js/66fbb9c2.5f4af35e.js
similarity index 67%
rename from assets/js/66fbb9c2.1eb15979.js
rename to assets/js/66fbb9c2.5f4af35e.js
index 6941832..ef4edee 100644
--- a/assets/js/66fbb9c2.1eb15979.js
+++ b/assets/js/66fbb9c2.5f4af35e.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return p},kt:function(){return y}});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 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
+(self.webpackChunk=self.webpackChunk||[]).push([[7668],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return p},kt:function(){return y}});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 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/7af3052c.5c16d6f2.js b/assets/js/7af3052c.5c16d6f2.js
deleted file mode 100644
index 92cf061..0000000
--- a/assets/js/7af3052c.5c16d6f2.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/7af3052c.c335919f.js b/assets/js/7af3052c.c335919f.js
new file mode 100644
index 0000000..693bc93
--- /dev/null
+++ b/assets/js/7af3052c.c335919f.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/8c0d511b.6da8041b.js b/assets/js/8c0d511b.6da8041b.js
new file mode 100644
index 0000000..6c9d9d0
--- /dev/null
+++ b/assets/js/8c0d511b.6da8041b.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[43616],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return l},kt:function(){return m}});var a=n(67294);function r(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 a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/8c0d511b.93e7d6dd.js b/assets/js/8c0d511b.93e7d6dd.js
deleted file mode 100644
index 2c640c6..0000000
--- a/assets/js/8c0d511b.93e7d6dd.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[43616],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return l},kt:function(){return m}});var a=n(67294);function r(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 a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n [...]
\ No newline at end of file
diff --git a/assets/js/8e784bf3.17d89684.js b/assets/js/8e784bf3.17d89684.js
new file mode 100644
index 0000000..0d8b18e
--- /dev/null
+++ b/assets/js/8e784bf3.17d89684.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return m},kt:function(){return d}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function 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/8e784bf3.2cae276c.js b/assets/js/8e784bf3.2cae276c.js
deleted file mode 100644
index bfee1a8..0000000
--- a/assets/js/8e784bf3.2cae276c.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[78216],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return m},kt:function(){return d}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function 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/8eb4e46b.85bf3977.js b/assets/js/8eb4e46b.39ea04fc.js
similarity index 64%
rename from assets/js/8eb4e46b.85bf3977.js
rename to assets/js/8eb4e46b.39ea04fc.js
index 86dba11..6a4ce4a 100644
--- a/assets/js/8eb4e46b.85bf3977.js
+++ b/assets/js/8eb4e46b.39ea04fc.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[10001],{61421:function(e){"use strict";e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":3,"totalCount":23,"previousPage":"/blog","nextPage":"/blog/page/3","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[10001],{61421:function(e){"use strict";e.exports=JSON.parse('{"permalink":"/blog/page/2","page":2,"postsPerPage":10,"totalPages":3,"totalCount":24,"previousPage":"/blog","nextPage":"/blog/page/3","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/92999a1c.a5126880.js b/assets/js/92999a1c.b9c81066.js
similarity index 65%
rename from assets/js/92999a1c.a5126880.js
rename to assets/js/92999a1c.b9c81066.js
index 6daabd7..a589f08 100644
--- a/assets/js/92999a1c.a5126880.js
+++ b/assets/js/92999a1c.b9c81066.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[18442],{54453:function(e){"use strict";e.exports=JSON.parse('{"permalink":"/blog/page/3","page":3,"postsPerPage":10,"totalPages":3,"totalCount":23,"previousPage":"/blog/page/2","nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[18442],{54453:function(e){"use strict";e.exports=JSON.parse('{"permalink":"/blog/page/3","page":3,"postsPerPage":10,"totalPages":3,"totalCount":24,"previousPage":"/blog/page/2","nextPage":null,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/95fdd571.af114e0a.js b/assets/js/95fdd571.72e15aff.js
similarity index 59%
rename from assets/js/95fdd571.af114e0a.js
rename to assets/js/95fdd571.72e15aff.js
index d9cc761..8de7f7f 100644
--- a/assets/js/95fdd571.af114e0a.js
+++ b/assets/js/95fdd571.72e15aff.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[48235],{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
+(self.webpackChunk=self.webpackChunk||[]).push([[48235],{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/adbb350b.249aac85.js b/assets/js/adbb350b.249aac85.js
deleted file mode 100644
index 8912a1e..0000000
--- a/assets/js/adbb350b.249aac85.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 p},kt:function(){return d}});var i=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/adbb350b.c9b4aa3d.js b/assets/js/adbb350b.c9b4aa3d.js
new file mode 100644
index 0000000..89bb1e4
--- /dev/null
+++ b/assets/js/adbb350b.c9b4aa3d.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[85427],{3905:function(e,t,r){"use strict";r.d(t,{Zo:function(){return p},kt:function(){return d}});var i=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r [...]
\ No newline at end of file
diff --git a/assets/js/b2b675dd.2d632461.js b/assets/js/b2b675dd.2675964c.js
similarity index 67%
rename from assets/js/b2b675dd.2d632461.js
rename to assets/js/b2b675dd.2675964c.js
index e731bd5..34356ed 100644
--- a/assets/js/b2b675dd.2d632461.js
+++ b/assets/js/b2b675dd.2675964c.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[90533],{2383:function(e){"use strict";e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":3,"totalCount":23,"previousPage":null,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
+(self.webpackChunk=self.webpackChunk||[]).push([[90533],{2383:function(e){"use strict";e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":3,"totalCount":24,"previousPage":null,"nextPage":"/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/d18db9b0.b0505485.js b/assets/js/d18db9b0.e654b66f.js
similarity index 80%
rename from assets/js/d18db9b0.b0505485.js
rename to assets/js/d18db9b0.e654b66f.js
index 5afad19..376018e 100644
--- a/assets/js/d18db9b0.b0505485.js
+++ b/assets/js/d18db9b0.e654b66f.js
@@ -1 +1 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[17825],{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
+(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/df0f9deb.2ce24c14.js b/assets/js/df0f9deb.2ce24c14.js
new file mode 100644
index 0000000..611f92a
--- /dev/null
+++ b/assets/js/df0f9deb.2ce24c14.js
@@ -0,0 +1 @@
+(self.webpackChunk=self.webpackChunk||[]).push([[6386],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return l},kt:function(){return h}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n, [...]
\ No newline at end of file
diff --git a/assets/js/main.88f0d7c0.js b/assets/js/main.88f0d7c0.js
new file mode 100644
index 0000000..e035660
--- /dev/null
+++ b/assets/js/main.88f0d7c0.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.88f0d7c0.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.bac987a4.js.LICENSE.txt b/assets/js/main.88f0d7c0.js.LICENSE.txt
similarity index 100%
rename from zh/assets/js/main.bac987a4.js.LICENSE.txt
rename to assets/js/main.88f0d7c0.js.LICENSE.txt
diff --git a/assets/js/main.d8422e6d.js b/assets/js/main.d8422e6d.js
deleted file mode 100644
index 558029f..0000000
--- a/assets/js/main.d8422e6d.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.d8422e6d.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.2790b36f.js b/assets/js/runtime~main.2790b36f.js
deleted file mode 100644
index 7cff480..0000000
--- a/assets/js/runtime~main.2790b36f.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(){"use strict";var e,c,a,f,b={},d={};function t(e){var c=d[e];if(void 0!==c)return c.exports;var a=d[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}t.m=b,t.c=d,e=[],t.O=function(c,a,f,b){if(!a){var d=1/0;for(o=0;o<e.length;o++){a=e[o][0],f=e[o][1],b=e[o][2];for(var n=!0,r=0;r<a.length;r++)(!1&b||d>=b)&&Object.keys(t.O).every((function(e){return t.O[e](a[r])}))?a.splice(r--,1):(n=!1,b<d&&(d=b));n&&(e.splice(o--,1),c=f())}return c}b [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.31e8c9cc.js b/assets/js/runtime~main.31e8c9cc.js
new file mode 100644
index 0000000..eacb501
--- /dev/null
+++ b/assets/js/runtime~main.31e8c9cc.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,c,a,f,d={},b={};function t(e){var c=b[e];if(void 0!==c)return c.exports;var a=b[e]={id:e,loaded:!1,exports:{}};return d[e].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}t.m=d,t.c=b,e=[],t.O=function(c,a,f,d){if(!a){var b=1/0;for(o=0;o<e.length;o++){a=e[o][0],f=e[o][1],d=e[o][2];for(var n=!0,r=0;r<a.length;r++)(!1&d||b>=d)&&Object.keys(t.O).every((function(e){return t.O[e](a[r])}))?a.splice(r--,1):(n=!1,d<b&&(b=d));n&&(e.splice(o--,1),c=f())}return c}d [...]
\ 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 43fea22..c4f4042 100644
--- a/blog/2020/08/22/new-website/index.html
+++ b/blog/2020/08/22/new-website/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">New website for Apache APISIX | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="New website for Apache APISIX | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="We are just refactored out website for Apache APISIX by using docusaurus."><meta data-react-helmet="true" propert [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 b2c564d..14b6e11 100644
--- a/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
+++ b/blog/2020/12/16/another-way-to-implement-envoy-filter/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Envoy and Apache APISIX: Another way to implement the Envoy filter | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@nic-chen, Apache APISIX PMC from Shenz [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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 [...]
+<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 3bf20c5..1df8fae 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
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">初探 Kubernetes Service APIs | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="初探 Kubernetes Service APIs | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@gxthrj, Apache APISIX PMC &amp; Apache apisix-ingress-controller Founder from Shenzhen Zhiliu Technology Co."><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 9876986..6a5de85 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
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 贡献者专访 | 普华永道华南数据安全与隐私保护团队高级安全顾问王鹏诚 | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 贡献者专访 | 普华永道华南数据安全与隐私保护团队高级安全顾问王鹏诚 | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@moonming, Apache APISIX PMC Chair from Shenzhen Zhiliu Technology Co."><me [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 3dc0b9f..7f40668 100644
--- a/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
+++ b/blog/2021/01/21/run-ingress-apisix-on-amazon-eks/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Run Ingress APISIX on Amazon EKS | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Run Ingress APISIX on Amazon EKS | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@Chao Zhang, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" pr [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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 [...]
+<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4b0a98b..cc360c0 100644
--- a/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
+++ b/blog/2021/02/08/stable-product-delivery-with-cypress/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stable Product Delivery with Cypress | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Stable Product Delivery with Cypress | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@LiteSun, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="tru [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 ac50ad2..003f6b7 100644
--- a/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
+++ b/blog/2021/02/26/install-apache-apisix-from-helm-charts/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Apache APISIX from Helm Charts | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Install Apache APISIX from Helm Charts | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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 [...]
+<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 ac82064..d6ce213 100644
--- a/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
+++ b/blog/2021/03/02/get-front-end-test-coverage-with-cypress/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Get Front-End Test Coverage with Cypress | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Get Front-End Test Coverage with Cypress | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@LiteSun, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><meta data-react-hel [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 a71e08b..9d43d64 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
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Traffic Split in Apache APISIX Ingress Controller | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Traffic Split in Apache APISIX Ingress Controller | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX Committer from Shenzhen Zhiliu Technology Co."><me [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 ac58e20..39ebc06 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"	
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 2.6.0-Release 正式发布 | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 2.6.0-Release 正式发布 | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@spacewander, Core developer of Apache APISIX from Shenzhen Zhiliu Technology Co."><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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 [...]
+<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 de83979..ed39f31 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"	
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX 实现的服务网格项目正式开源 | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="基于 Apache APISIX 实现的服务网格项目正式开源 | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX PMC from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" property="og:url [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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 [...]
+<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 2ee07d1..2695a7d 100644
--- a/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
+++ b/blog/2021/06/07/Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX not affected by NGINX CVE-2021-23017 | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@Serendipity96, Apache APISIX contributor from Shenzhen Zhiliu Technolo [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 d62a6d2..0871a6b 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
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Chaos Mesh 助力 Apache APISIX 提升稳定性 | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Chaos Mesh 助力 Apache APISIX 提升稳定性 | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@Yiyiyimu,Apache APISIX committer from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" pro [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 c69f2db..f3e7bb1 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
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Dashboard 访问控制绕过漏洞公告(CVE-2021-33190) | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX Dashboard 访问控制绕过漏洞公告(CVE-2021-33190) | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@juzhiyuan, Apache APISIX PMC from Shenzhen Zhiliu Technology Co."><met [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 75802d2..0710300 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
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX Ingress Controller 首个 GA 版本 v1.0 正式发布! | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX Ingress Controller 首个 GA 版本 v1.0 正式发布! | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@tao12345666333, Apache APISIX commiter from Shenzhen Zhiliu Techno [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 174aa72..24fd08f 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
@@ -15,12 +15,12 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">使用 Java 编写 Apache APISIX 插件 | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="使用 Java 编写 Apache APISIX 插件 | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@tzssangglass, Apache APISIX contributor from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" property [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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 [...]
+<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">import org.apache.apisix.plugin.runner.HttpRequest;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">import org.apache.apisix.plugin.runner.HttpResponse;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">import org.springframework.stereotype.Component;</span></div><div class="token-line" style="color:#393A34"><span class="token plain">i [...]
 </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">@Component</span></div><div class="token-line" style="color:#393A34"><span class="token plain">public class TokenValidator implements PluginFilter {</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
@@ -35,7 +35,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 2ccf1b9..1cc9de6 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
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Rancher × Apache APISIX: 极速部署更好用的开源网关和 Ingress Controller | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Rancher × Apache APISIX: 极速部署更好用的开源网关和 Ingress Controller | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@tao12345666333, Apache APISIX commiter from Shenzhen Zhi [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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 [...]
+<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 1731c5a..a371d14 100644
--- a/blog/2021/06/29/release-apache-apisix-2.7-en/index.html
+++ b/blog/2021/06/29/release-apache-apisix-2.7-en/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Release Apache APISIX 2.7.0 | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Release Apache APISIX 2.7.0 | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@Serendipity96, Apache APISIX contributor from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" propert [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 234f9bb..d767ba7 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
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX 2.7.0-Release 正式发布 | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX 2.7.0-Release 正式发布 | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@spacewander, Core developer of Apache APISIX from Shenzhen Zhiliu Technology Co."><meta data-react-helmet= [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 c7acac8..f7a9476 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
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">差之毫厘:etcd 3 完美支持 HTTP 访问? | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="差之毫厘:etcd 3 完美支持 HTTP 访问? | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@spacewander, Core developer of Apache APISIX from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" propert [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 566e11a..75f3b08 100644
--- a/blog/2021/07/06/celebrate-200-contributors/index.html
+++ b/blog/2021/07/06/celebrate-200-contributors/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Apache APISIX has over 200 contributors in GitHub main repo! | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@Serendipity96, Apache APISIX contributor from Shen [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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 [...]
+<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 6e8b462..57701bc 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
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">基于 Apache APISIX,新浪微博 API 网关的定制化开发之路 | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="基于 Apache APISIX,新浪微博 API 网关的定制化开发之路 | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="聂永,微博基础架构师,开源爱好者,爱折腾追求 Geek。"><meta data-react-helmet="true" property="og:url" content="https://api [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 b464d8b..9d2f5ca 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
@@ -15,17 +15,17 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">深度剖析 Apache APISIX Mesh Agent | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="深度剖析 Apache APISIX Mesh Agent | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@tokers, Apache APISIX PMC from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" property="og:url"  [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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 [...]
+<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"># 转换成 Apache APISIX 的配置后:</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">  </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"># 该路由匹配时需要判断对应连接原始的目标地址是否是 &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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+</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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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
new file mode 100644
index 0000000..e03d16a
--- /dev/null
+++ b/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX/index.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<html lang="en" dir="ltr">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="generator" content="Docusaurus v2.0.0-beta.0">
+<meta name="robots" content="noindex, nofollow">
+<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache APISIX® Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache APISIX® Blog Atom Feed">
+<link rel="preconnect" href="https://www.google-analytics.com">
+<link rel="preconnect" href="https://www.googletagmanager.com">
+<script async src="https://www.googletagmanager.com/gtag/js?id=G-WQLBQL6GY3"></script>
+<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-WQLBQL6GY3",{})</script>
+<link rel="search" type="application/opensearchdescription+xml" title="Apache APISIX®" href="/opensearch.xml">
+<link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
+<link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">插件编排在 Apache APISIX 中的应用与实践 | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="插件编排在 Apache APISIX 中的应用与实践 | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="@juzhiyuan, Apache APISIX PMC from Shenzhen Zhiliu Technology Co."><meta data-react-helmet="true" property="og:url" c [...]
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
+</head>
+<body>
+<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
+<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 string" style="color:#e3116c"> {</span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">   &quot;uri&quot;: &quot;/get&quot;,</span></div><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">   &quot;methods&quot;: [&quot;GET&quot;],</span></div><div class="token-line" style="color:#393A34"><span class="token string" s [...]
+</span></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token string" style="color:#e3116c">&quot;script&quot;</span><span class="token builtin class-name">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;local _M = {} </span><span class="token string entity" style="color:#36acaa">\n</span><span class="token string" style="color:#e3116c"> function _M.access(api_ctx) </span><span class="toke [...]
+</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="apache-apisix-dashboard"></a>Apache APISIX Dashboard<a class="hash-link" href="#apache-apisix-dashboard" title="Direct link to heading">#</a></h3><p>在 Das [...]
+</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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/atom.xml b/blog/atom.xml
index ef43e23..3214e00 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -2,12 +2,19 @@
 <feed xmlns="http://www.w3.org/2005/Atom">
     <id>https://apisix.apache.org/blog</id>
     <title>Apache APISIX® Blog</title>
-    <updated>2021-07-16T00:00:00.000Z</updated>
+    <updated>2021-07-27T00:00:00.000Z</updated>
     <generator>https://github.com/jpmonette/feed</generator>
     <link rel="alternate" href="https://apisix.apache.org/blog"/>
     <subtitle>Apache APISIX® Blog</subtitle>
     <icon>https://apisix.apache.org/img/favicon.png</icon>
     <entry>
+        <title type="html"><![CDATA[插件编排在 Apache APISIX 中的应用与实践]]></title>
+        <id>插件编排在 Apache APISIX 中的应用与实践</id>
+        <link href="https://apisix.apache.org/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX"/>
+        <updated>2021-07-27T00:00:00.000Z</updated>
+        <summary type="html"><![CDATA[@juzhiyuan, Apache APISIX PMC from Shenzhen Zhiliu Technology Co.]]></summary>
+    </entry>
+    <entry>
         <title type="html"><![CDATA[深度剖析 Apache APISIX Mesh Agent]]></title>
         <id>深度剖析 Apache APISIX Mesh Agent</id>
         <link href="https://apisix.apache.org/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply"/>
diff --git a/blog/index.html b/blog/index.html
index 15b8e03..4a3f441 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//blog"><meta data-react-helmet="true" name="docsearch:language" content=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 2c7c4ec..24d9e47 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//blog/page/2"><meta data-react-helmet="true" name="docsearch:language" co [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 13dfc9a..34383cb 100644
--- a/blog/page/3/index.html
+++ b/blog/page/3/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Blog | Apache APISIX®</title><meta data-react-helmet="true" property="og:title" content="Blog | Apache APISIX®"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//blog/page/3"><meta data-react-helmet="true" name="docsearch:language" co [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
-<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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.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.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/rss.xml b/blog/rss.xml
index 0904b47..2c18d53 100644
--- a/blog/rss.xml
+++ b/blog/rss.xml
@@ -4,10 +4,17 @@
         <title>Apache APISIX® Blog</title>
         <link>https://apisix.apache.org/blog</link>
         <description>Apache APISIX® Blog</description>
-        <lastBuildDate>Fri, 16 Jul 2021 00:00:00 GMT</lastBuildDate>
+        <lastBuildDate>Tue, 27 Jul 2021 00:00:00 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/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX</link>
+            <guid>插件编排在 Apache APISIX 中的应用与实践</guid>
+            <pubDate>Tue, 27 Jul 2021 00:00:00 GMT</pubDate>
+            <description><![CDATA[@juzhiyuan, Apache APISIX PMC from Shenzhen Zhiliu Technology Co.]]></description>
+        </item>
+        <item>
             <title><![CDATA[深度剖析 Apache APISIX Mesh Agent]]></title>
             <link>https://apisix.apache.org/blog/2021/07/16/Analyze-Apache-APISIX-Mesh-Agent-deeply</link>
             <guid>深度剖析 Apache APISIX Mesh Agent</guid>
diff --git a/docs/apisix/2.4/FAQ/index.html b/docs/apisix/2.4/FAQ/index.html
index 62985f7..25994d5 100644
--- a/docs/apisix/2.4/FAQ/index.html
+++ b/docs/apisix/2.4/FAQ/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX®</title><meta data-react-helmet="true" 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="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 2b23e64..e10674e 100644
--- a/docs/apisix/2.4/IGNORE_DOC/index.html
+++ b/docs/apisix/2.4/IGNORE_DOC/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 5ece137..57822f0 100644
--- a/docs/apisix/2.4/admin-api/index.html
+++ b/docs/apisix/2.4/admin-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -79,7 +79,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8820f22..b1106c2 100644
--- a/docs/apisix/2.4/architecture-design/index.html
+++ b/docs/apisix/2.4/architecture-design/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX®</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 data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 dde3e35..7cd538d 100644
--- a/docs/apisix/2.4/aws/index.html
+++ b/docs/apisix/2.4/aws/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 33215ea..1c202e0 100644
--- a/docs/apisix/2.4/batch-processor/index.html
+++ b/docs/apisix/2.4/batch-processor/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 939ea6b..4774b29 100644
--- a/docs/apisix/2.4/benchmark/index.html
+++ b/docs/apisix/2.4/benchmark/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 895f212..502d014 100644
--- a/docs/apisix/2.4/control-api/index.html
+++ b/docs/apisix/2.4/control-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 e07aa8a..cce60ef 100644
--- a/docs/apisix/2.4/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.4/customize-nginx-configuration/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX®</title><meta data-react-helmet="true" 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" content="2.4"><meta data-reac [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 f163888..7469bf2 100644
--- a/docs/apisix/2.4/debug-function/index.html
+++ b/docs/apisix/2.4/debug-function/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 3523715..4c83fee 100644
--- a/docs/apisix/2.4/discovery/consul_kv/index.html
+++ b/docs/apisix/2.4/discovery/consul_kv/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 3c3f8c7..f1fb915 100644
--- a/docs/apisix/2.4/discovery/index.html
+++ b/docs/apisix/2.4/discovery/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX®</title><meta data-react-helmet="true" 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.4"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 e4d6e46..0c8c27c 100644
--- a/docs/apisix/2.4/dns/index.html
+++ b/docs/apisix/2.4/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX®</title><meta data-react-helmet="true" 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="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 a88e252..144761f 100644
--- a/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.4/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX®</title><meta data-react-helmet="true" 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="docsearch:version" content="2 [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -55,7 +55,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 23b5758..26f6523 100644
--- a/docs/apisix/2.4/getting-started/index.html
+++ b/docs/apisix/2.4/getting-started/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 79776a8..4dace7e 100644
--- a/docs/apisix/2.4/grpc-proxy/index.html
+++ b/docs/apisix/2.4/grpc-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 53480d3..0f81c5d 100644
--- a/docs/apisix/2.4/health-check/index.html
+++ b/docs/apisix/2.4/health-check/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 618ff9c..ba805ca 100644
--- a/docs/apisix/2.4/how-to-build/index.html
+++ b/docs/apisix/2.4/how-to-build/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 b07934e..546297b 100644
--- a/docs/apisix/2.4/https/index.html
+++ b/docs/apisix/2.4/https/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX®</title><meta data-react-helmet="true" 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" name="docsearch:docusaurus_tag"  [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 27ae61c..99fc6c1 100644
--- a/docs/apisix/2.4/install-dependencies/index.html
+++ b/docs/apisix/2.4/install-dependencies/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 bb472b1..451b57e 100644
--- a/docs/apisix/2.4/mtls/index.html
+++ b/docs/apisix/2.4/mtls/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication | Apache APISIX®</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-react-helmet="true" name="docsear [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8f015d8..66e51df 100644
--- a/docs/apisix/2.4/plugin-develop/index.html
+++ b/docs/apisix/2.4/plugin-develop/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -54,7 +54,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 f1dca7f..83efa68 100644
--- a/docs/apisix/2.4/plugin-interceptors/index.html
+++ b/docs/apisix/2.4/plugin-interceptors/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4f0055f..e1cb4f4 100644
--- a/docs/apisix/2.4/plugins/api-breaker/index.html
+++ b/docs/apisix/2.4/plugins/api-breaker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 beb3b73..c3b012b 100644
--- a/docs/apisix/2.4/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.4/plugins/authz-keycloak/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 16110ce..f384a14 100644
--- a/docs/apisix/2.4/plugins/basic-auth/index.html
+++ b/docs/apisix/2.4/plugins/basic-auth/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 c308187..dc9fb67 100644
--- a/docs/apisix/2.4/plugins/batch-requests/index.html
+++ b/docs/apisix/2.4/plugins/batch-requests/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 664a45d..ac1fbe4 100644
--- a/docs/apisix/2.4/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/consumer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX®</title><meta data-react-helmet="true" 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.4"><meta data-react-helmet=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8ca41ed..cd20e86 100644
--- a/docs/apisix/2.4/plugins/cors/index.html
+++ b/docs/apisix/2.4/plugins/cors/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 e1ccf8c..bd62b56 100644
--- a/docs/apisix/2.4/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.4/plugins/dubbo-proxy/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 91ff643..bc45822 100644
--- a/docs/apisix/2.4/plugins/echo/index.html
+++ b/docs/apisix/2.4/plugins/echo/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 577a113..6c765e7 100644
--- a/docs/apisix/2.4/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.4/plugins/error-log-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 c619c68..899cd0f 100644
--- a/docs/apisix/2.4/plugins/fault-injection/index.html
+++ b/docs/apisix/2.4/plugins/fault-injection/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 c75cf30..b32a0ff 100644
--- a/docs/apisix/2.4/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.4/plugins/grpc-transcode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 bc82229..aac57b8 100644
--- a/docs/apisix/2.4/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.4/plugins/hmac-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 a4fec22..70603e5 100644
--- a/docs/apisix/2.4/plugins/http-logger/index.html
+++ b/docs/apisix/2.4/plugins/http-logger/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 56069ab..7bbafa4 100644
--- a/docs/apisix/2.4/plugins/index.html
+++ b/docs/apisix/2.4/plugins/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX®</title><meta data-react-helmet="true" 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" name="docsearch:docusaurus_t [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 67df270..fcbef25 100644
--- a/docs/apisix/2.4/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.4/plugins/ip-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 c442a4e..6644712 100644
--- a/docs/apisix/2.4/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.4/plugins/jwt-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8978ba5..a963b25 100644
--- a/docs/apisix/2.4/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.4/plugins/kafka-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 0a80448..31e6fee 100644
--- a/docs/apisix/2.4/plugins/key-auth/index.html
+++ b/docs/apisix/2.4/plugins/key-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 fea055b..4ef53cd 100644
--- a/docs/apisix/2.4/plugins/limit-conn/index.html
+++ b/docs/apisix/2.4/plugins/limit-conn/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8e1d4a9..9f435c4 100644
--- a/docs/apisix/2.4/plugins/limit-count/index.html
+++ b/docs/apisix/2.4/plugins/limit-count/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-connt | Apache APISIX®</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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 45a12aa..c9ee4e0 100644
--- a/docs/apisix/2.4/plugins/limit-req/index.html
+++ b/docs/apisix/2.4/plugins/limit-req/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 2b79826..c29add3 100644
--- a/docs/apisix/2.4/plugins/log-rotate/index.html
+++ b/docs/apisix/2.4/plugins/log-rotate/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 cff0d35..e38dffa 100644
--- a/docs/apisix/2.4/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.4/plugins/mqtt-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 d54c687..529d900 100644
--- a/docs/apisix/2.4/plugins/node-status/index.html
+++ b/docs/apisix/2.4/plugins/node-status/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 1cdab71..3a19366 100644
--- a/docs/apisix/2.4/plugins/openid-connect/index.html
+++ b/docs/apisix/2.4/plugins/openid-connect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 9c96750..f78c26f 100644
--- a/docs/apisix/2.4/plugins/prometheus/index.html
+++ b/docs/apisix/2.4/plugins/prometheus/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 058e1d6..7259030 100644
--- a/docs/apisix/2.4/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.4/plugins/proxy-cache/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 0c3952b..3e9149b 100644
--- a/docs/apisix/2.4/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.4/plugins/proxy-mirror/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 65ce1a4..cc49a81 100644
--- a/docs/apisix/2.4/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/proxy-rewrite/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 9092513..7c2bd5a 100644
--- a/docs/apisix/2.4/plugins/redirect/index.html
+++ b/docs/apisix/2.4/plugins/redirect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 54978b4..8ae4325 100644
--- a/docs/apisix/2.4/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.4/plugins/referer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 5b905bf..c063a13 100644
--- a/docs/apisix/2.4/plugins/request-id/index.html
+++ b/docs/apisix/2.4/plugins/request-id/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 1502576..89eafc8 100644
--- a/docs/apisix/2.4/plugins/request-validation/index.html
+++ b/docs/apisix/2.4/plugins/request-validation/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 0d6a8d7..3d0161a 100644
--- a/docs/apisix/2.4/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.4/plugins/response-rewrite/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8d98c5d..0c005ba 100644
--- a/docs/apisix/2.4/plugins/server-info/index.html
+++ b/docs/apisix/2.4/plugins/server-info/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 e93d994..36b9c55 100644
--- a/docs/apisix/2.4/plugins/serverless/index.html
+++ b/docs/apisix/2.4/plugins/serverless/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 31ba80b..64b496e 100644
--- a/docs/apisix/2.4/plugins/skywalking/index.html
+++ b/docs/apisix/2.4/plugins/skywalking/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4a2e104..48c69fc 100644
--- a/docs/apisix/2.4/plugins/sls-logger/index.html
+++ b/docs/apisix/2.4/plugins/sls-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 5c3b19c..aa1919b 100644
--- a/docs/apisix/2.4/plugins/syslog/index.html
+++ b/docs/apisix/2.4/plugins/syslog/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 ca47690..c772545 100644
--- a/docs/apisix/2.4/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.4/plugins/tcp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 2b3e1f0..27500f4 100644
--- a/docs/apisix/2.4/plugins/traffic-split/index.html
+++ b/docs/apisix/2.4/plugins/traffic-split/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -34,7 +34,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 718d126..499fa71 100644
--- a/docs/apisix/2.4/plugins/udp-logger/index.html
+++ b/docs/apisix/2.4/plugins/udp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 34344f9..5a462d4 100644
--- a/docs/apisix/2.4/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.4/plugins/uri-blocker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 83989f1..ecbd984 100644
--- a/docs/apisix/2.4/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.4/plugins/wolf-rbac/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 9f9bfc4..f47b1e8 100644
--- a/docs/apisix/2.4/plugins/zipkin/index.html
+++ b/docs/apisix/2.4/plugins/zipkin/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 6634ad7..86e1e35 100644
--- a/docs/apisix/2.4/powered-by/index.html
+++ b/docs/apisix/2.4/powered-by/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX®</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-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 b979544..b941fd2 100644
--- a/docs/apisix/2.4/profile/index.html
+++ b/docs/apisix/2.4/profile/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX®</title><meta data-react-helmet="true" 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:version" content="2.4"><meta d [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 19c18f4..c4a53a4 100644
--- a/docs/apisix/2.4/router-radixtree/index.html
+++ b/docs/apisix/2.4/router-radixtree/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4292904..3bc43da 100644
--- a/docs/apisix/2.4/stand-alone/index.html
+++ b/docs/apisix/2.4/stand-alone/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 b959171..43844a2 100644
--- a/docs/apisix/2.4/stream-proxy/index.html
+++ b/docs/apisix/2.4/stream-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 167b21e..70ff211 100644
--- a/docs/apisix/2.5/FAQ/index.html
+++ b/docs/apisix/2.5/FAQ/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX®</title><meta data-react-helmet="true" 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="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 b331ec8..818bf07 100644
--- a/docs/apisix/2.5/IGNORE_DOC/index.html
+++ b/docs/apisix/2.5/IGNORE_DOC/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 d120f53..71f0ec6 100644
--- a/docs/apisix/2.5/admin-api/index.html
+++ b/docs/apisix/2.5/admin-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -81,7 +81,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 d534aa7..a663329 100644
--- a/docs/apisix/2.5/architecture-design/apisix/index.html
+++ b/docs/apisix/2.5/architecture-design/apisix/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 fc691f0..e36d4bf 100644
--- a/docs/apisix/2.5/architecture-design/consumer/index.html
+++ b/docs/apisix/2.5/architecture-design/consumer/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 440115f..114befb 100644
--- a/docs/apisix/2.5/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.5/architecture-design/debug-mode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 1d09c5b..b969690 100644
--- a/docs/apisix/2.5/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.5/architecture-design/global-rule/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 ee6b039..63505ba 100644
--- a/docs/apisix/2.5/architecture-design/index.html
+++ b/docs/apisix/2.5/architecture-design/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX®</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 data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 099b276..1d9f064 100644
--- a/docs/apisix/2.5/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin-config/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 93b8895..3244a05 100644
--- a/docs/apisix/2.5/architecture-design/plugin/index.html
+++ b/docs/apisix/2.5/architecture-design/plugin/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 822e627..7333400 100644
--- a/docs/apisix/2.5/architecture-design/route/index.html
+++ b/docs/apisix/2.5/architecture-design/route/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 89f1c34..fb5ee0c 100644
--- a/docs/apisix/2.5/architecture-design/router/index.html
+++ b/docs/apisix/2.5/architecture-design/router/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 ac52223..f23c6ff 100644
--- a/docs/apisix/2.5/architecture-design/script/index.html
+++ b/docs/apisix/2.5/architecture-design/script/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 9168c34..7c4ad44 100644
--- a/docs/apisix/2.5/architecture-design/service/index.html
+++ b/docs/apisix/2.5/architecture-design/service/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 ea3dbce..e7c8184 100644
--- a/docs/apisix/2.5/architecture-design/upstream/index.html
+++ b/docs/apisix/2.5/architecture-design/upstream/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 1c67294..26d3ae6 100644
--- a/docs/apisix/2.5/aws/index.html
+++ b/docs/apisix/2.5/aws/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 a76282c..b9bf2f2 100644
--- a/docs/apisix/2.5/batch-processor/index.html
+++ b/docs/apisix/2.5/batch-processor/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 9921d1c..59c10d2 100644
--- a/docs/apisix/2.5/benchmark/index.html
+++ b/docs/apisix/2.5/benchmark/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8ef9f54..8d79440 100644
--- a/docs/apisix/2.5/control-api/index.html
+++ b/docs/apisix/2.5/control-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 9580143..168c0c7 100644
--- a/docs/apisix/2.5/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.5/customize-nginx-configuration/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX®</title><meta data-react-helmet="true" 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" content="2.5"><meta data-reac [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 c15330c..70b102b 100644
--- a/docs/apisix/2.5/debug-function/index.html
+++ b/docs/apisix/2.5/debug-function/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4555bb8..04e1fa8 100644
--- a/docs/apisix/2.5/discovery/consul_kv/index.html
+++ b/docs/apisix/2.5/discovery/consul_kv/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 ef9f9f9..10f5897 100644
--- a/docs/apisix/2.5/discovery/dns/index.html
+++ b/docs/apisix/2.5/discovery/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 87242e3..621f07b 100644
--- a/docs/apisix/2.5/discovery/index.html
+++ b/docs/apisix/2.5/discovery/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX®</title><meta data-react-helmet="true" 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.5"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -32,7 +32,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 43cffef..702a356 100644
--- a/docs/apisix/2.5/dns/index.html
+++ b/docs/apisix/2.5/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX®</title><meta data-react-helmet="true" 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="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4a0cb7f..0c5a39e 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
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX®</title><meta data-react-helmet="true" 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="docsearch:version" content="2 [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -55,7 +55,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 7fd7d04..5825e8e 100644
--- a/docs/apisix/2.5/getting-started/index.html
+++ b/docs/apisix/2.5/getting-started/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 9d024bb..000ae30 100644
--- a/docs/apisix/2.5/grpc-proxy/index.html
+++ b/docs/apisix/2.5/grpc-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4902640..8a55d73 100644
--- a/docs/apisix/2.5/health-check/index.html
+++ b/docs/apisix/2.5/health-check/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 cce0937..307b5a6 100644
--- a/docs/apisix/2.5/how-to-build/index.html
+++ b/docs/apisix/2.5/how-to-build/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 a1bc1b6..755e48e 100644
--- a/docs/apisix/2.5/https/index.html
+++ b/docs/apisix/2.5/https/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX®</title><meta data-react-helmet="true" 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" name="docsearch:docusaurus_tag"  [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 5b34cda..fbfff3e 100644
--- a/docs/apisix/2.5/install-dependencies/index.html
+++ b/docs/apisix/2.5/install-dependencies/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 d1f0210..2b80cf1 100644
--- a/docs/apisix/2.5/mtls/index.html
+++ b/docs/apisix/2.5/mtls/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication for Admin API | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 c2fa5fd..6afa00c 100644
--- a/docs/apisix/2.5/plugin-develop/index.html
+++ b/docs/apisix/2.5/plugin-develop/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -53,7 +53,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 718d8cf..eabd561 100644
--- a/docs/apisix/2.5/plugin-interceptors/index.html
+++ b/docs/apisix/2.5/plugin-interceptors/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 e32da8f..5e33005 100644
--- a/docs/apisix/2.5/plugins/api-breaker/index.html
+++ b/docs/apisix/2.5/plugins/api-breaker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 97c268d..7976180 100644
--- a/docs/apisix/2.5/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.5/plugins/authz-keycloak/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8445388..97c7f11 100644
--- a/docs/apisix/2.5/plugins/basic-auth/index.html
+++ b/docs/apisix/2.5/plugins/basic-auth/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 120830c..a0ec1fb 100644
--- a/docs/apisix/2.5/plugins/batch-requests/index.html
+++ b/docs/apisix/2.5/plugins/batch-requests/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 3292d14..2f96c58 100644
--- a/docs/apisix/2.5/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.5/plugins/consumer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX®</title><meta data-react-helmet="true" 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.5"><meta data-react-helmet=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 90028b6..5daafb9 100644
--- a/docs/apisix/2.5/plugins/cors/index.html
+++ b/docs/apisix/2.5/plugins/cors/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 d6c6bf7..2068b93 100644
--- a/docs/apisix/2.5/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.5/plugins/dubbo-proxy/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 3d20702..d7c957a 100644
--- a/docs/apisix/2.5/plugins/echo/index.html
+++ b/docs/apisix/2.5/plugins/echo/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 15df71c..f01c738 100644
--- a/docs/apisix/2.5/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.5/plugins/error-log-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 593e3f6..382eee2 100644
--- a/docs/apisix/2.5/plugins/fault-injection/index.html
+++ b/docs/apisix/2.5/plugins/fault-injection/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 6824f58..ca0a79d 100644
--- a/docs/apisix/2.5/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.5/plugins/grpc-transcode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 572edb3..508d72f 100644
--- a/docs/apisix/2.5/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.5/plugins/hmac-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 2e72f8a..348e99e 100644
--- a/docs/apisix/2.5/plugins/http-logger/index.html
+++ b/docs/apisix/2.5/plugins/http-logger/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 7118cf5..31ca593 100644
--- a/docs/apisix/2.5/plugins/index.html
+++ b/docs/apisix/2.5/plugins/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX®</title><meta data-react-helmet="true" 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" name="docsearch:docusaurus_t [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 917b4a2..8ca442b 100644
--- a/docs/apisix/2.5/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.5/plugins/ip-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 7c7b35b..4a6c06f 100644
--- a/docs/apisix/2.5/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.5/plugins/jwt-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 babc883..1699eb0 100644
--- a/docs/apisix/2.5/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.5/plugins/kafka-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 ad4dc13..8dfdf53 100644
--- a/docs/apisix/2.5/plugins/key-auth/index.html
+++ b/docs/apisix/2.5/plugins/key-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4722be0..923e703 100644
--- a/docs/apisix/2.5/plugins/limit-conn/index.html
+++ b/docs/apisix/2.5/plugins/limit-conn/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 774a88d..0a86245 100644
--- a/docs/apisix/2.5/plugins/limit-count/index.html
+++ b/docs/apisix/2.5/plugins/limit-count/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-count | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 1324293..cebc4a5 100644
--- a/docs/apisix/2.5/plugins/limit-req/index.html
+++ b/docs/apisix/2.5/plugins/limit-req/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 34d6438..f556a17 100644
--- a/docs/apisix/2.5/plugins/log-rotate/index.html
+++ b/docs/apisix/2.5/plugins/log-rotate/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4636aaf..3ec1ddc 100644
--- a/docs/apisix/2.5/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.5/plugins/mqtt-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 1e07262..b42f171 100644
--- a/docs/apisix/2.5/plugins/node-status/index.html
+++ b/docs/apisix/2.5/plugins/node-status/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 20b23b8..df7f92a 100644
--- a/docs/apisix/2.5/plugins/openid-connect/index.html
+++ b/docs/apisix/2.5/plugins/openid-connect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 f6c1d04..b925cfb 100644
--- a/docs/apisix/2.5/plugins/prometheus/index.html
+++ b/docs/apisix/2.5/plugins/prometheus/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 fb94ff2..2459e84 100644
--- a/docs/apisix/2.5/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.5/plugins/proxy-cache/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 c0ca21b..b6ef71d 100644
--- a/docs/apisix/2.5/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.5/plugins/proxy-mirror/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 6b330c5..1e5fe99 100644
--- a/docs/apisix/2.5/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.5/plugins/proxy-rewrite/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 5221e7b..c82b925 100644
--- a/docs/apisix/2.5/plugins/redirect/index.html
+++ b/docs/apisix/2.5/plugins/redirect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 36f7fab..d7d1eb6 100644
--- a/docs/apisix/2.5/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.5/plugins/referer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 392d2d9..9edda04 100644
--- a/docs/apisix/2.5/plugins/request-id/index.html
+++ b/docs/apisix/2.5/plugins/request-id/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 3ed0732..2bfe37a 100644
--- a/docs/apisix/2.5/plugins/request-validation/index.html
+++ b/docs/apisix/2.5/plugins/request-validation/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 fdc142e..711e585 100644
--- a/docs/apisix/2.5/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.5/plugins/response-rewrite/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 0b6653f..c640708 100644
--- a/docs/apisix/2.5/plugins/server-info/index.html
+++ b/docs/apisix/2.5/plugins/server-info/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8f69070..1aa06d7 100644
--- a/docs/apisix/2.5/plugins/serverless/index.html
+++ b/docs/apisix/2.5/plugins/serverless/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 809d3e8..09a0985 100644
--- a/docs/apisix/2.5/plugins/skywalking/index.html
+++ b/docs/apisix/2.5/plugins/skywalking/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 1f3961e..8606ff0 100644
--- a/docs/apisix/2.5/plugins/sls-logger/index.html
+++ b/docs/apisix/2.5/plugins/sls-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 9e7ffaa..3a863f8 100644
--- a/docs/apisix/2.5/plugins/syslog/index.html
+++ b/docs/apisix/2.5/plugins/syslog/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 b2a2cdf..acef24f 100644
--- a/docs/apisix/2.5/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.5/plugins/tcp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 3da765f..5d6b223 100644
--- a/docs/apisix/2.5/plugins/traffic-split/index.html
+++ b/docs/apisix/2.5/plugins/traffic-split/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,7 +35,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8d8ee27..476c163 100644
--- a/docs/apisix/2.5/plugins/udp-logger/index.html
+++ b/docs/apisix/2.5/plugins/udp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 21b0314..5925249 100644
--- a/docs/apisix/2.5/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.5/plugins/uri-blocker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 cfe2dec..ceb2d9e 100644
--- a/docs/apisix/2.5/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.5/plugins/wolf-rbac/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4aaaa28..3e38738 100644
--- a/docs/apisix/2.5/plugins/zipkin/index.html
+++ b/docs/apisix/2.5/plugins/zipkin/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 50509f0..359ad82 100644
--- a/docs/apisix/2.5/powered-by/index.html
+++ b/docs/apisix/2.5/powered-by/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX®</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-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 e9196ef..d9ef21f 100644
--- a/docs/apisix/2.5/profile/index.html
+++ b/docs/apisix/2.5/profile/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX®</title><meta data-react-helmet="true" 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:version" content="2.5"><meta d [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 dc9177d..c82d1a6 100644
--- a/docs/apisix/2.5/router-radixtree/index.html
+++ b/docs/apisix/2.5/router-radixtree/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 b47dccb..9d920d3 100644
--- a/docs/apisix/2.5/stand-alone/index.html
+++ b/docs/apisix/2.5/stand-alone/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 1d944a2..ffd79be 100644
--- a/docs/apisix/2.5/stream-proxy/index.html
+++ b/docs/apisix/2.5/stream-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 59bc46a..8ee10f7 100644
--- a/docs/apisix/2.6/FAQ/index.html
+++ b/docs/apisix/2.6/FAQ/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX®</title><meta data-react-helmet="true" 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="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 1ef2fa2..b585cee 100644
--- a/docs/apisix/2.6/IGNORE_DOC/index.html
+++ b/docs/apisix/2.6/IGNORE_DOC/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 a8fe351..af18244 100644
--- a/docs/apisix/2.6/admin-api/index.html
+++ b/docs/apisix/2.6/admin-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -83,7 +83,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 073b9fb..02c2d55 100644
--- a/docs/apisix/2.6/architecture-design/apisix/index.html
+++ b/docs/apisix/2.6/architecture-design/apisix/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 7092c21..e9c6944 100644
--- a/docs/apisix/2.6/architecture-design/consumer/index.html
+++ b/docs/apisix/2.6/architecture-design/consumer/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 0fd2914..f76570f 100644
--- a/docs/apisix/2.6/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.6/architecture-design/debug-mode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 b7196ac..ea49622 100644
--- a/docs/apisix/2.6/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.6/architecture-design/global-rule/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 8edcd57..ed09ec0 100644
--- a/docs/apisix/2.6/architecture-design/index.html
+++ b/docs/apisix/2.6/architecture-design/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX®</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 data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 d164c78..4566c83 100644
--- a/docs/apisix/2.6/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.6/architecture-design/plugin-config/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX®</title><meta data-react-helmet="true" 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"><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 bcdd9e2..2d7b2f5 100644
--- a/docs/apisix/2.6/architecture-design/plugin/index.html
+++ b/docs/apisix/2.6/architecture-design/plugin/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 f6bc984..fc5edf8 100644
--- a/docs/apisix/2.6/architecture-design/route/index.html
+++ b/docs/apisix/2.6/architecture-design/route/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 54bebb6..4eec44e 100644
--- a/docs/apisix/2.6/architecture-design/router/index.html
+++ b/docs/apisix/2.6/architecture-design/router/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 75dceff..bd9eafd 100644
--- a/docs/apisix/2.6/architecture-design/script/index.html
+++ b/docs/apisix/2.6/architecture-design/script/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 9c11bf5..650a835 100644
--- a/docs/apisix/2.6/architecture-design/service/index.html
+++ b/docs/apisix/2.6/architecture-design/service/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 14d549a..c838aa5 100644
--- a/docs/apisix/2.6/architecture-design/upstream/index.html
+++ b/docs/apisix/2.6/architecture-design/upstream/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 07a1a07..2c3434a 100644
--- a/docs/apisix/2.6/aws/index.html
+++ b/docs/apisix/2.6/aws/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX®</title><meta data-react-helmet="true" 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 data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 dc9890b..6b9732b 100644
--- a/docs/apisix/2.6/batch-processor/index.html
+++ b/docs/apisix/2.6/batch-processor/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 6e9c767..e23fc06 100644
--- a/docs/apisix/2.6/benchmark/index.html
+++ b/docs/apisix/2.6/benchmark/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 ef83aa7..38fd399 100644
--- a/docs/apisix/2.6/control-api/index.html
+++ b/docs/apisix/2.6/control-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 fe6e116..de86c01 100644
--- a/docs/apisix/2.6/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.6/customize-nginx-configuration/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX®</title><meta data-react-helmet="true" 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" content="2.6"><meta data-reac [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 c8d3dc4..7034cf4 100644
--- a/docs/apisix/2.6/debug-function/index.html
+++ b/docs/apisix/2.6/debug-function/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 37a1f78..cbc0cbb 100644
--- a/docs/apisix/2.6/discovery/consul_kv/index.html
+++ b/docs/apisix/2.6/discovery/consul_kv/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 6a692c0..2b51eb5 100644
--- a/docs/apisix/2.6/discovery/dns/index.html
+++ b/docs/apisix/2.6/discovery/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 4565b0d..7b4c3a5 100644
--- a/docs/apisix/2.6/discovery/eureka/index.html
+++ b/docs/apisix/2.6/discovery/eureka/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 aa50367..2e4d1b8 100644
--- a/docs/apisix/2.6/discovery/index.html
+++ b/docs/apisix/2.6/discovery/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX®</title><meta data-react-helmet="true" 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.6"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -32,7 +32,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 37da8e7..21b56d3 100644
--- a/docs/apisix/2.6/discovery/nacos/index.html
+++ b/docs/apisix/2.6/discovery/nacos/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 b5b68a0..fb13315 100644
--- a/docs/apisix/2.6/dns/index.html
+++ b/docs/apisix/2.6/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX®</title><meta data-react-helmet="true" 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="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 0024d5c..0731bc8 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
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX®</title><meta data-react-helmet="true" 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="docsearch:version" content="2 [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -55,7 +55,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 506ae47..310a960 100644
--- a/docs/apisix/2.6/getting-started/index.html
+++ b/docs/apisix/2.6/getting-started/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX®</title><meta data-react-helmet="true" 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-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 6dc7fa6..2cea25e 100644
--- a/docs/apisix/2.6/grpc-proxy/index.html
+++ b/docs/apisix/2.6/grpc-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX®</title><meta data-react-helmet="true" 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="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 2f8805d..30a16d5 100644
--- a/docs/apisix/2.6/health-check/index.html
+++ b/docs/apisix/2.6/health-check/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX®</title><meta data-react-helmet="true" 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-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.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 f0e179e..10ae1cc 100644
--- a/docs/apisix/2.6/how-to-build/index.html
+++ b/docs/apisix/2.6/how-to-build/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX®</title><meta data-react-helmet="true" 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.6"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,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><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="7-add-systemd-unit-file-for-apisix"></a>7. Add systemd unit file for APISIX<a class="hash-link" href="#7-add-systemd-unit-file-for-apisix" title="Direct link to heading">#</a></h2><p>If you install APISIX with rpm package, the unit file is installed automatically, [...]
-<script src="/assets/js/runtime~main.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/https/index.html b/docs/apisix/2.6/https/index.html
index 7405b82..a4367ef 100644
--- a/docs/apisix/2.6/https/index.html
+++ b/docs/apisix/2.6/https/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/https"><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="docsearch:docusaurus_tag"  [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/install-dependencies/index.html b/docs/apisix/2.6/install-dependencies/index.html
index 5c5d949..8958618 100644
--- a/docs/apisix/2.6/install-dependencies/index.html
+++ b/docs/apisix/2.6/install-dependencies/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/install-dependencies"><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" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/mtls/index.html b/docs/apisix/2.6/mtls/index.html
index 388b353..a2625bb 100644
--- a/docs/apisix/2.6/mtls/index.html
+++ b/docs/apisix/2.6/mtls/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS authentication for Admin API | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/mtls"><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" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugin-develop/index.html b/docs/apisix/2.6/plugin-develop/index.html
index 2e7f569..ed0d5a8 100644
--- a/docs/apisix/2.6/plugin-develop/index.html
+++ b/docs/apisix/2.6/plugin-develop/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugin-develop"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -53,7 +53,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.6/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.6/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugin-interceptors/index.html b/docs/apisix/2.6/plugin-interceptors/index.html
index 56465cf..bcafa5c 100644
--- a/docs/apisix/2.6/plugin-interceptors/index.html
+++ b/docs/apisix/2.6/plugin-interceptors/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugin-interceptors"><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 [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.6/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/api-breaker/index.html b/docs/apisix/2.6/plugins/api-breaker/index.html
index 542170b..035de9d 100644
--- a/docs/apisix/2.6/plugins/api-breaker/index.html
+++ b/docs/apisix/2.6/plugins/api-breaker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/api-breaker"><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="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/authz-keycloak/index.html b/docs/apisix/2.6/plugins/authz-keycloak/index.html
index 5d089fe..198ec02 100644
--- a/docs/apisix/2.6/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.6/plugins/authz-keycloak/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/authz-keycloak"><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=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/basic-auth/index.html b/docs/apisix/2.6/plugins/basic-auth/index.html
index 1fb690e..5644de3 100644
--- a/docs/apisix/2.6/plugins/basic-auth/index.html
+++ b/docs/apisix/2.6/plugins/basic-auth/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/basic-auth"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/batch-requests/index.html b/docs/apisix/2.6/plugins/batch-requests/index.html
index 494cac9..c8b8cea 100644
--- a/docs/apisix/2.6/plugins/batch-requests/index.html
+++ b/docs/apisix/2.6/plugins/batch-requests/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/batch-requests"><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=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.6/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/consumer-restriction/index.html b/docs/apisix/2.6/plugins/consumer-restriction/index.html
index 249d037..7d24433 100644
--- a/docs/apisix/2.6/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.6/plugins/consumer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/consumer-restriction"><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.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/cors/index.html b/docs/apisix/2.6/plugins/cors/index.html
index b9c1b57..116a397 100644
--- a/docs/apisix/2.6/plugins/cors/index.html
+++ b/docs/apisix/2.6/plugins/cors/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/cors"><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="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/dubbo-proxy/index.html b/docs/apisix/2.6/plugins/dubbo-proxy/index.html
index 0bed874..847ebb3 100644
--- a/docs/apisix/2.6/plugins/dubbo-proxy/index.html
+++ b/docs/apisix/2.6/plugins/dubbo-proxy/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">dubbo-proxy | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/dubbo-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="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/echo/index.html b/docs/apisix/2.6/plugins/echo/index.html
index afab718..30efeba 100644
--- a/docs/apisix/2.6/plugins/echo/index.html
+++ b/docs/apisix/2.6/plugins/echo/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">echo | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/echo"><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="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/error-log-logger/index.html b/docs/apisix/2.6/plugins/error-log-logger/index.html
index 7e3a05b..57b8a9f 100644
--- a/docs/apisix/2.6/plugins/error-log-logger/index.html
+++ b/docs/apisix/2.6/plugins/error-log-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">error-log-logger | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/error-log-logger"><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" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.6/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/fault-injection/index.html b/docs/apisix/2.6/plugins/fault-injection/index.html
index 15110ee..22eaaa8 100644
--- a/docs/apisix/2.6/plugins/fault-injection/index.html
+++ b/docs/apisix/2.6/plugins/fault-injection/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">fault-injection | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/fault-injection"><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 [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/grpc-transcode/index.html b/docs/apisix/2.6/plugins/grpc-transcode/index.html
index 2d9362b..8d55d21 100644
--- a/docs/apisix/2.6/plugins/grpc-transcode/index.html
+++ b/docs/apisix/2.6/plugins/grpc-transcode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">grpc-transcode | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/grpc-transcode"><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=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/hmac-auth/index.html b/docs/apisix/2.6/plugins/hmac-auth/index.html
index f98bd03..232ca27 100644
--- a/docs/apisix/2.6/plugins/hmac-auth/index.html
+++ b/docs/apisix/2.6/plugins/hmac-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">hmac-auth | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/hmac-auth"><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="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/http-logger/index.html b/docs/apisix/2.6/plugins/http-logger/index.html
index 1ca6daa..1dd2b6e 100644
--- a/docs/apisix/2.6/plugins/http-logger/index.html
+++ b/docs/apisix/2.6/plugins/http-logger/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">http-logger | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/http-logger"><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="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/index.html b/docs/apisix/2.6/plugins/index.html
index 84d583d..ac518af 100644
--- a/docs/apisix/2.6/plugins/index.html
+++ b/docs/apisix/2.6/plugins/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugins | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins"><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="docsearch:docusaurus_t [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.6/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/ip-restriction/index.html b/docs/apisix/2.6/plugins/ip-restriction/index.html
index 00455c0..6d37aa8 100644
--- a/docs/apisix/2.6/plugins/ip-restriction/index.html
+++ b/docs/apisix/2.6/plugins/ip-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">ip-restriction | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/ip-restriction"><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=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/jwt-auth/index.html b/docs/apisix/2.6/plugins/jwt-auth/index.html
index bf642af..ee1ca26 100644
--- a/docs/apisix/2.6/plugins/jwt-auth/index.html
+++ b/docs/apisix/2.6/plugins/jwt-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">jwt-auth | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/jwt-auth"><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="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,7 @@ You may need to use <a href="/docs/apisix/2.6/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/kafka-logger/index.html b/docs/apisix/2.6/plugins/kafka-logger/index.html
index f7d0cfb..e56ad37 100644
--- a/docs/apisix/2.6/plugins/kafka-logger/index.html
+++ b/docs/apisix/2.6/plugins/kafka-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">kafka-logger | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/kafka-logger"><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="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/key-auth/index.html b/docs/apisix/2.6/plugins/key-auth/index.html
index cbb0872..cf76a96 100644
--- a/docs/apisix/2.6/plugins/key-auth/index.html
+++ b/docs/apisix/2.6/plugins/key-auth/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">key-auth | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/key-auth"><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="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/limit-conn/index.html b/docs/apisix/2.6/plugins/limit-conn/index.html
index 93d0bf6..66c116d 100644
--- a/docs/apisix/2.6/plugins/limit-conn/index.html
+++ b/docs/apisix/2.6/plugins/limit-conn/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-conn | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/limit-conn"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/limit-count/index.html b/docs/apisix/2.6/plugins/limit-count/index.html
index 4e85dae..1bb738f 100644
--- a/docs/apisix/2.6/plugins/limit-count/index.html
+++ b/docs/apisix/2.6/plugins/limit-count/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-count | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/limit-count"><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="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/limit-req/index.html b/docs/apisix/2.6/plugins/limit-req/index.html
index 633ca24..265dbdb 100644
--- a/docs/apisix/2.6/plugins/limit-req/index.html
+++ b/docs/apisix/2.6/plugins/limit-req/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">limit-req | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/limit-req"><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="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/log-rotate/index.html b/docs/apisix/2.6/plugins/log-rotate/index.html
index bb223ca..1a9e543 100644
--- a/docs/apisix/2.6/plugins/log-rotate/index.html
+++ b/docs/apisix/2.6/plugins/log-rotate/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">log-rotate | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/log-rotate"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/mqtt-proxy/index.html b/docs/apisix/2.6/plugins/mqtt-proxy/index.html
index 0477e3b..1499aa6 100644
--- a/docs/apisix/2.6/plugins/mqtt-proxy/index.html
+++ b/docs/apisix/2.6/plugins/mqtt-proxy/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">mqtt-proxy | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/mqtt-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="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/node-status/index.html b/docs/apisix/2.6/plugins/node-status/index.html
index e0c2cad..cade752 100644
--- a/docs/apisix/2.6/plugins/node-status/index.html
+++ b/docs/apisix/2.6/plugins/node-status/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">node-status | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/node-status"><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="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/openid-connect/index.html b/docs/apisix/2.6/plugins/openid-connect/index.html
index ec79805..bd2eac3 100644
--- a/docs/apisix/2.6/plugins/openid-connect/index.html
+++ b/docs/apisix/2.6/plugins/openid-connect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">openid-connect | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/openid-connect"><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=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -48,7 +48,7 @@ Once the user has authenticated against the identity provider, the plugin will o
 and further information from the identity provider on behalf of the user. The information is currently stored
 in a session cookie that the user agent can submit on subsequent requests. The plugin will recognize the cookie
 and use the information therein to avoid having to go through the flow again.</p><p>The following command adds this mode of operation to a route.</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly bash"><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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/prometheus/index.html b/docs/apisix/2.6/plugins/prometheus/index.html
index 99e80ed..5c43e68 100644
--- a/docs/apisix/2.6/plugins/prometheus/index.html
+++ b/docs/apisix/2.6/plugins/prometheus/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">prometheus | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/prometheus"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,7 @@ you may need to use <a href="/docs/apisix/2.6/plugin-interceptors">interceptors<
 Notice, <code>name</code> could be duplicated for multiple routes/services, so when set <code>prefer_name</code> to <code>true</code>, take care of naming format or it could be misleading.</p><p>For example:</p><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly shell"><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:#393 [...]
 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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/proxy-cache/index.html b/docs/apisix/2.6/plugins/proxy-cache/index.html
index a5de32e..90e8c62 100644
--- a/docs/apisix/2.6/plugins/proxy-cache/index.html
+++ b/docs/apisix/2.6/plugins/proxy-cache/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-cache | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/proxy-cache"><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="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/proxy-mirror/index.html b/docs/apisix/2.6/plugins/proxy-mirror/index.html
index 769d960..1aef25b 100644
--- a/docs/apisix/2.6/plugins/proxy-mirror/index.html
+++ b/docs/apisix/2.6/plugins/proxy-mirror/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-mirror | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/proxy-mirror"><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="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/proxy-rewrite/index.html b/docs/apisix/2.6/plugins/proxy-rewrite/index.html
index 0ae1dbd..face333 100644
--- a/docs/apisix/2.6/plugins/proxy-rewrite/index.html
+++ b/docs/apisix/2.6/plugins/proxy-rewrite/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">proxy-rewrite | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/proxy-rewrite"><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="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/redirect/index.html b/docs/apisix/2.6/plugins/redirect/index.html
index 46edf22..b2a87bd 100644
--- a/docs/apisix/2.6/plugins/redirect/index.html
+++ b/docs/apisix/2.6/plugins/redirect/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">redirect | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/redirect"><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="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/referer-restriction/index.html b/docs/apisix/2.6/plugins/referer-restriction/index.html
index 2a4a12f..b47dbcf 100644
--- a/docs/apisix/2.6/plugins/referer-restriction/index.html
+++ b/docs/apisix/2.6/plugins/referer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">referer-restriction | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/referer-restriction"><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="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/request-id/index.html b/docs/apisix/2.6/plugins/request-id/index.html
index 8d3450a..f4f8f41 100644
--- a/docs/apisix/2.6/plugins/request-id/index.html
+++ b/docs/apisix/2.6/plugins/request-id/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-id | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/request-id"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/request-validation/index.html b/docs/apisix/2.6/plugins/request-validation/index.html
index 1a8e929..0f8a5b5 100644
--- a/docs/apisix/2.6/plugins/request-validation/index.html
+++ b/docs/apisix/2.6/plugins/request-validation/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">request-validation | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/request-validation"><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 [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/response-rewrite/index.html b/docs/apisix/2.6/plugins/response-rewrite/index.html
index fe718a3..337fc28 100644
--- a/docs/apisix/2.6/plugins/response-rewrite/index.html
+++ b/docs/apisix/2.6/plugins/response-rewrite/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">response-rewrite | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/response-rewrite"><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" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/server-info/index.html b/docs/apisix/2.6/plugins/server-info/index.html
index 565aa0e..4680db0 100644
--- a/docs/apisix/2.6/plugins/server-info/index.html
+++ b/docs/apisix/2.6/plugins/server-info/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">server-info | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/server-info"><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="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/serverless/index.html b/docs/apisix/2.6/plugins/serverless/index.html
index f1f5c41..bea58bd 100644
--- a/docs/apisix/2.6/plugins/serverless/index.html
+++ b/docs/apisix/2.6/plugins/serverless/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">serverless | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/serverless"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/skywalking/index.html b/docs/apisix/2.6/plugins/skywalking/index.html
index 5f3876f..a373cae 100644
--- a/docs/apisix/2.6/plugins/skywalking/index.html
+++ b/docs/apisix/2.6/plugins/skywalking/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">skywalking | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/skywalking"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/sls-logger/index.html b/docs/apisix/2.6/plugins/sls-logger/index.html
index 5b45eb9..2d1dd2c 100644
--- a/docs/apisix/2.6/plugins/sls-logger/index.html
+++ b/docs/apisix/2.6/plugins/sls-logger/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">sls-logger | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/sls-logger"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,7 @@
 <a href="/docs/apisix/2.6/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/syslog/index.html b/docs/apisix/2.6/plugins/syslog/index.html
index 2fb8036..459e1d0 100644
--- a/docs/apisix/2.6/plugins/syslog/index.html
+++ b/docs/apisix/2.6/plugins/syslog/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">syslog | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/syslog"><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="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/tcp-logger/index.html b/docs/apisix/2.6/plugins/tcp-logger/index.html
index e0972ec..b3eed2c 100644
--- a/docs/apisix/2.6/plugins/tcp-logger/index.html
+++ b/docs/apisix/2.6/plugins/tcp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">tcp-logger | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/tcp-logger"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.6/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/traffic-split/index.html b/docs/apisix/2.6/plugins/traffic-split/index.html
index 99e94c7..20c317a 100644
--- a/docs/apisix/2.6/plugins/traffic-split/index.html
+++ b/docs/apisix/2.6/plugins/traffic-split/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">traffic-split | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/traffic-split"><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="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -35,7 +35,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><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="matching-rules-correspond-to-upstream"></a>Matching rules correspond to upstream<a class="hash-link" href="#matching-rules-correspond-to-upstream" tit [...]
-<script src="/assets/js/runtime~main.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/udp-logger/index.html b/docs/apisix/2.6/plugins/udp-logger/index.html
index b426e9e..ec8f378 100644
--- a/docs/apisix/2.6/plugins/udp-logger/index.html
+++ b/docs/apisix/2.6/plugins/udp-logger/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">udp-logger | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/udp-logger"><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="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.6/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/uri-blocker/index.html b/docs/apisix/2.6/plugins/uri-blocker/index.html
index b7050fd..31ca1fe 100644
--- a/docs/apisix/2.6/plugins/uri-blocker/index.html
+++ b/docs/apisix/2.6/plugins/uri-blocker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">uri-blocker | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/uri-blocker"><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="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/wolf-rbac/index.html b/docs/apisix/2.6/plugins/wolf-rbac/index.html
index c41094a..38499c3 100644
--- a/docs/apisix/2.6/plugins/wolf-rbac/index.html
+++ b/docs/apisix/2.6/plugins/wolf-rbac/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">wolf-rbac | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/wolf-rbac"><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="docsearch: [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/plugins/zipkin/index.html b/docs/apisix/2.6/plugins/zipkin/index.html
index ba2cd33..223bebc 100644
--- a/docs/apisix/2.6/plugins/zipkin/index.html
+++ b/docs/apisix/2.6/plugins/zipkin/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Zipkin | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/plugins/zipkin"><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="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -29,7 +29,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/powered-by/index.html b/docs/apisix/2.6/powered-by/index.html
index 37e3f6f..a64b131 100644
--- a/docs/apisix/2.6/powered-by/index.html
+++ b/docs/apisix/2.6/powered-by/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Powered by Apache APISIX | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/powered-by"><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="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/profile/index.html b/docs/apisix/2.6/profile/index.html
index 3ad754f..42330c7 100644
--- a/docs/apisix/2.6/profile/index.html
+++ b/docs/apisix/2.6/profile/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Configuration file switching based on environment variables | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/profile"><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.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -27,7 +27,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/router-radixtree/index.html b/docs/apisix/2.6/router-radixtree/index.html
index ce66696..6402d56 100644
--- a/docs/apisix/2.6/router-radixtree/index.html
+++ b/docs/apisix/2.6/router-radixtree/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router radixtree | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/router-radixtree"><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="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/stand-alone/index.html b/docs/apisix/2.6/stand-alone/index.html
index 5254fbd..8563167 100644
--- a/docs/apisix/2.6/stand-alone/index.html
+++ b/docs/apisix/2.6/stand-alone/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stand-alone mode | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/stand-alone"><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="docsearch [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.6/stream-proxy/index.html b/docs/apisix/2.6/stream-proxy/index.html
index 25b860f..49e37bc 100644
--- a/docs/apisix/2.6/stream-proxy/index.html
+++ b/docs/apisix/2.6/stream-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Stream Proxy | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.6/stream-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="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/FAQ/index.html b/docs/apisix/2.7/FAQ/index.html
index 017d3c1..8b07834 100644
--- a/docs/apisix/2.7/FAQ/index.html
+++ b/docs/apisix/2.7/FAQ/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">FAQ | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/FAQ"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,7 @@ See the <code>Hot reload</code> section in <a href="/docs/apisix/2.7/plugins">pl
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh  --issue  --staging  -d demo.domain --renew-hook </span><span class="token string" style="color:#e3116c">&quot;/root/.acme.sh/renew-hook-update-apisix.sh  -h http://apisix-admin:port -p /root/.acme.sh/demo.domain/demo.domain.cer -k /root/.acme.sh/demo.domain/demo.domain.key -a xxxxxxxxxxxxx&quot;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span cl [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">$ acme.sh --renew --domain demo.domain</span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
 </span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div><p>Blog <a href="https://juejin.cn/post/6965778290619449351" target="_blank" rel="noopener noreferrer">https://juejin.cn/post/6965778290619449351</a> has detail setup.</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/FAQ.md" target="_blank" rel="noreferrer n [...]
-<script src="/assets/js/runtime~main.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/IGNORE_DOC/index.html b/docs/apisix/2.7/IGNORE_DOC/index.html
index 89770bc..fdf2733 100644
--- a/docs/apisix/2.7/IGNORE_DOC/index.html
+++ b/docs/apisix/2.7/IGNORE_DOC/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">IGNORE_DOC | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/IGNORE_DOC"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/admin-api/index.html b/docs/apisix/2.7/admin-api/index.html
index 617371d..21c5744 100644
--- a/docs/apisix/2.7/admin-api/index.html
+++ b/docs/apisix/2.7/admin-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Admin API | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/admin-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -83,7 +83,7 @@ This feature requires APISIX to run on <a href="/docs/apisix/2.7/how-to-build#6-
 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><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="response-parameters-3"></a>Response Parameters<a class="hash-link" href="#response-parameters-3" title="Direct link to heading">#</a></h3><p>Return response from etcd currently.</p><p><a href="#table-of-contents">Back to TOC</a></p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="ssl"></a>SSL<a class="hash-link" href="#ssl" title="Direct link to heading">#</a></h2 [...]
 </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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/apisix/index.html b/docs/apisix/2.7/architecture-design/apisix/index.html
index cba3afb..63a71ef 100644
--- a/docs/apisix/2.7/architecture-design/apisix/index.html
+++ b/docs/apisix/2.7/architecture-design/apisix/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">APISIX | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/apisix"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/consumer/index.html b/docs/apisix/2.7/architecture-design/consumer/index.html
index d0e31c8..fd2f9b7 100644
--- a/docs/apisix/2.7/architecture-design/consumer/index.html
+++ b/docs/apisix/2.7/architecture-design/consumer/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Consumer | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/consumer"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.7/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/debug-mode/index.html b/docs/apisix/2.7/architecture-design/debug-mode/index.html
index e850b47..29edf50 100644
--- a/docs/apisix/2.7/architecture-design/debug-mode/index.html
+++ b/docs/apisix/2.7/architecture-design/debug-mode/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Mode | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/debug-mode"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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 not be delivered via HTTP response header, for example, the plugin is in stream
 subsystem, the information will be logged in the error log with <code>warn</code> level.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor" 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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/global-rule/index.html b/docs/apisix/2.7/architecture-design/global-rule/index.html
index 666564c..cc1d86d 100644
--- a/docs/apisix/2.7/architecture-design/global-rule/index.html
+++ b/docs/apisix/2.7/architecture-design/global-rule/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Global rule | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/global-rule"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true"  [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.7/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/index.html b/docs/apisix/2.7/architecture-design/index.html
index 89a7dc6..eb4285d 100644
--- a/docs/apisix/2.7/architecture-design/index.html
+++ b/docs/apisix/2.7/architecture-design/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Architecture Design | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -41,7 +41,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/plugin-config/index.html b/docs/apisix/2.7/architecture-design/plugin-config/index.html
index 079e9b6..d8eeb84 100644
--- a/docs/apisix/2.7/architecture-design/plugin-config/index.html
+++ b/docs/apisix/2.7/architecture-design/plugin-config/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Config | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/plugin-config"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/plugin/index.html b/docs/apisix/2.7/architecture-design/plugin/index.html
index c410025..1295455 100644
--- a/docs/apisix/2.7/architecture-design/plugin/index.html
+++ b/docs/apisix/2.7/architecture-design/plugin/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/plugin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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 [...]
 then 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.7/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/a [...]
-<script src="/assets/js/runtime~main.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/route/index.html b/docs/apisix/2.7/architecture-design/route/index.html
index a94284a..9561b8d 100644
--- a/docs/apisix/2.7/architecture-design/route/index.html
+++ b/docs/apisix/2.7/architecture-design/route/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Route | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/route"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/router/index.html b/docs/apisix/2.7/architecture-design/router/index.html
index df080e2..fd15034 100644
--- a/docs/apisix/2.7/architecture-design/router/index.html
+++ b/docs/apisix/2.7/architecture-design/router/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Router | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/router"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/script/index.html b/docs/apisix/2.7/architecture-design/script/index.html
index bbeb450..676a40e 100644
--- a/docs/apisix/2.7/architecture-design/script/index.html
+++ b/docs/apisix/2.7/architecture-design/script/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Script | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/script"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docs [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/service/index.html b/docs/apisix/2.7/architecture-design/service/index.html
index 9f0f2f0..a81a0f3 100644
--- a/docs/apisix/2.7/architecture-design/service/index.html
+++ b/docs/apisix/2.7/architecture-design/service/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Service | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/service"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/architecture-design/upstream/index.html b/docs/apisix/2.7/architecture-design/upstream/index.html
index 11d7325..3943fcb 100644
--- a/docs/apisix/2.7/architecture-design/upstream/index.html
+++ b/docs/apisix/2.7/architecture-design/upstream/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Upstream | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/architecture-design/upstream"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/aws/index.html b/docs/apisix/2.7/aws/index.html
index 6a06c45..6d066c0 100644
--- a/docs/apisix/2.7/aws/index.html
+++ b/docs/apisix/2.7/aws/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Running APISIX in AWS with AWS CDK | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/aws"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -43,7 +43,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/batch-processor/index.html b/docs/apisix/2.7/batch-processor/index.html
index 26b7e47..6ffe0f5 100644
--- a/docs/apisix/2.7/batch-processor/index.html
+++ b/docs/apisix/2.7/batch-processor/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Batch Processor | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/batch-processor"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -31,7 +31,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/benchmark/index.html b/docs/apisix/2.7/benchmark/index.html
index f9de83a..b52a52a 100644
--- a/docs/apisix/2.7/benchmark/index.html
+++ b/docs/apisix/2.7/benchmark/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Benchmark | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/benchmark"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaur [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/certificate/index.html b/docs/apisix/2.7/certificate/index.html
index 5be6ea5..f579438 100644
--- a/docs/apisix/2.7/certificate/index.html
+++ b/docs/apisix/2.7/certificate/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Certificate | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/certificate"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,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/certificate.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 [...]
-<script src="/assets/js/runtime~main.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/control-api/index.html b/docs/apisix/2.7/control-api/index.html
index cb6b303..505f73c 100644
--- a/docs/apisix/2.7/control-api/index.html
+++ b/docs/apisix/2.7/control-api/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Control API | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/control-api"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.7/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/customize-nginx-configuration/index.html b/docs/apisix/2.7/customize-nginx-configuration/index.html
index 88da421..9019615 100644
--- a/docs/apisix/2.7/customize-nginx-configuration/index.html
+++ b/docs/apisix/2.7/customize-nginx-configuration/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Customize Nginx configuration | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/customize-nginx-configuration"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-reac [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/debug-function/index.html b/docs/apisix/2.7/debug-function/index.html
index 1902cca..b89a0f0 100644
--- a/docs/apisix/2.7/debug-function/index.html
+++ b/docs/apisix/2.7/debug-function/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Debug Function | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/debug-function"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/discovery/consul_kv/index.html b/docs/apisix/2.7/discovery/consul_kv/index.html
index 2170034..633fed1 100644
--- a/docs/apisix/2.7/discovery/consul_kv/index.html
+++ b/docs/apisix/2.7/discovery/consul_kv/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consul_kv | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/discovery/consul_kv"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -24,7 +24,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/discovery/dns/index.html b/docs/apisix/2.7/discovery/dns/index.html
index 2840b33..6eaf51c 100644
--- a/docs/apisix/2.7/discovery/dns/index.html
+++ b/docs/apisix/2.7/discovery/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/discovery/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -30,7 +30,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/discovery/eureka/index.html b/docs/apisix/2.7/discovery/eureka/index.html
index 999a937..08b6779 100644
--- a/docs/apisix/2.7/discovery/eureka/index.html
+++ b/docs/apisix/2.7/discovery/eureka/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">eureka | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/discovery/eureka"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docu [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.7/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/discovery/index.html b/docs/apisix/2.7/discovery/index.html
index 1ce144c..fa10a4f 100644
--- a/docs/apisix/2.7/discovery/index.html
+++ b/docs/apisix/2.7/discovery/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Integration service discovery registry | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/discovery"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="t [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -32,7 +32,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/discovery/nacos/index.html b/docs/apisix/2.7/discovery/nacos/index.html
index ed5705d..24a9fd3 100644
--- a/docs/apisix/2.7/discovery/nacos/index.html
+++ b/docs/apisix/2.7/discovery/nacos/index.html
@@ -15,13 +15,13 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">nacos | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/discovery/nacos"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/dns/index.html b/docs/apisix/2.7/dns/index.html
index cb8d854..7df8d3f 100644
--- a/docs/apisix/2.7/dns/index.html
+++ b/docs/apisix/2.7/dns/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">DNS | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/dns"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/examples/plugins-hmac-auth-generate-signature/index.html b/docs/apisix/2.7/examples/plugins-hmac-auth-generate-signature/index.html
index 46851ef..ac15a97 100644
--- a/docs/apisix/2.7/examples/plugins-hmac-auth-generate-signature/index.html
+++ b/docs/apisix/2.7/examples/plugins-hmac-auth-generate-signature/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HMAC Generate Signature Examples | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/examples/plugins-hmac-auth-generate-signature"><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.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -55,7 +55,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/external-plugin/index.html b/docs/apisix/2.7/external-plugin/index.html
index 5579ec0..2c4193b 100644
--- a/docs/apisix/2.7/external-plugin/index.html
+++ b/docs/apisix/2.7/external-plugin/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">External Plugin | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/external-plugin"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,7 @@ declare your variable first in the <code>conf/config.yaml</code>:</p><div class=
 OpenResty 1.19+.</p><p>However, APISIX needs to wait the runner to quit so that we can ensure the resource
 for the process group is freed.</p><p>Therefore, we send SIGTERM first. And then after 1 second, if the runner is still
 running, we will send SIGKILL.</p></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/apisix/edit/master/docs/en/latest/external-plugin.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" role="img" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-label="Edit page"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0. [...]
-<script src="/assets/js/runtime~main.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/getting-started/index.html b/docs/apisix/2.7/getting-started/index.html
index 582c126..7aec4fb 100644
--- a/docs/apisix/2.7/getting-started/index.html
+++ b/docs/apisix/2.7/getting-started/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Getting Started | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/getting-started"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/grpc-proxy/index.html b/docs/apisix/2.7/grpc-proxy/index.html
index 8f3e3c7..a7e9ce8 100644
--- a/docs/apisix/2.7/grpc-proxy/index.html
+++ b/docs/apisix/2.7/grpc-proxy/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">gRPC Proxy | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/grpc-proxy"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/health-check/index.html b/docs/apisix/2.7/health-check/index.html
index 908370d..1842a65 100644
--- a/docs/apisix/2.7/health-check/index.html
+++ b/docs/apisix/2.7/health-check/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Health Check | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/health-check"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:do [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,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><li>Active health check is required so that the unhealthy node can recover.</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  [...]
 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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/how-to-build/index.html b/docs/apisix/2.7/how-to-build/index.html
index 6f4ae66..ae73ff2 100644
--- a/docs/apisix/2.7/how-to-build/index.html
+++ b/docs/apisix/2.7/how-to-build/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">How to build Apache APISIX | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/how-to-build"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -33,7 +33,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><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="7-add-systemd-unit-file-for-apisix"></a>7. Add systemd unit file for APISIX<a class="hash-link" href="#7-add-systemd-unit-file-for-apisix" title="Direct link to heading">#</a></h2><p>If you install APISIX with rpm package, the unit file is installed automatically, [...]
-<script src="/assets/js/runtime~main.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/https/index.html b/docs/apisix/2.7/https/index.html
index fd66cba..d96bd7d 100644
--- a/docs/apisix/2.7/https/index.html
+++ b/docs/apisix/2.7/https/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">HTTPS | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/https"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus_tag"  [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -36,7 +36,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/install-dependencies/index.html b/docs/apisix/2.7/install-dependencies/index.html
index 6e056d7..82d507e 100644
--- a/docs/apisix/2.7/install-dependencies/index.html
+++ b/docs/apisix/2.7/install-dependencies/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Install Dependencies | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/install-dependencies"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -40,7 +40,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/mtls/index.html b/docs/apisix/2.7/mtls/index.html
index 4618f25..bdbe911 100644
--- a/docs/apisix/2.7/mtls/index.html
+++ b/docs/apisix/2.7/mtls/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Mutual TLS Authentication | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/mtls"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsear [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -28,7 +28,7 @@
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token builtin">len</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">sys</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">argv</span><span class="token punctuation" style="color:#393A34">)</span><span clas [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">reqParam </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">&quot;tls&quot;</span><span class="token punctuation" style="colo [...]
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">resp </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> requests</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">patch</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;http://127.0.0.1:9080/apisix/admin/upstreams/&quot;</span><span class="token  [...]
-<script src="/assets/js/runtime~main.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/plugin-develop/index.html b/docs/apisix/2.7/plugin-develop/index.html
index 1ecd9b3..9d0b3f8 100644
--- a/docs/apisix/2.7/plugin-develop/index.html
+++ b/docs/apisix/2.7/plugin-develop/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin Develop | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/plugin-develop"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -54,7 +54,7 @@ return items of HTTP include HTTP status, HTTP response header, HTTP response bo
 You may need to use <a href="/docs/apisix/2.7/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.7/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/plugin-interceptors/index.html b/docs/apisix/2.7/plugin-interceptors/index.html
index 8e2cefb..5f236a6 100644
--- a/docs/apisix/2.7/plugin-interceptors/index.html
+++ b/docs/apisix/2.7/plugin-interceptors/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">Plugin interceptors | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/plugin-interceptors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.7/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/plugins/api-breaker/index.html b/docs/apisix/2.7/plugins/api-breaker/index.html
index 7ced902..d735f87 100644
--- a/docs/apisix/2.7/plugins/api-breaker/index.html
+++ b/docs/apisix/2.7/plugins/api-breaker/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">api-breaker | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/plugins/api-breaker"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsea [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/plugins/authz-keycloak/index.html b/docs/apisix/2.7/plugins/authz-keycloak/index.html
index 62ab537..381b997 100644
--- a/docs/apisix/2.7/plugins/authz-keycloak/index.html
+++ b/docs/apisix/2.7/plugins/authz-keycloak/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">authz-keycloak | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/plugins/authz-keycloak"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -47,7 +47,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/plugins/basic-auth/index.html b/docs/apisix/2.7/plugins/basic-auth/index.html
index c301108..c1a7f9c 100644
--- a/docs/apisix/2.7/plugins/basic-auth/index.html
+++ b/docs/apisix/2.7/plugins/basic-auth/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">basic-auth | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/plugins/basic-auth"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearc [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/plugins/batch-requests/index.html b/docs/apisix/2.7/plugins/batch-requests/index.html
index a873277..84d837d 100644
--- a/docs/apisix/2.7/plugins/batch-requests/index.html
+++ b/docs/apisix/2.7/plugins/batch-requests/index.html
@@ -15,15 +15,15 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">batch-requests | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/plugins/batch-requests"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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.7/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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/plugins/client-control/index.html b/docs/apisix/2.7/plugins/client-control/index.html
index e3196d7..95e8e0e 100644
--- a/docs/apisix/2.7/plugins/client-control/index.html
+++ b/docs/apisix/2.7/plugins/client-control/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">client-control | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/plugins/client-control"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -25,7 +25,7 @@ handle the client request.</p><p>This plugin requires APISIX to run on <a href="
 </span></div><div class="token-line" style="color:#393A34"><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:#36acaa">413</span><span class="token plain"> Request Entity Too Large</span></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 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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/plugins/consumer-restriction/index.html b/docs/apisix/2.7/plugins/consumer-restriction/index.html
index 0522609..74ecd07 100644
--- a/docs/apisix/2.7/plugins/consumer-restriction/index.html
+++ b/docs/apisix/2.7/plugins/consumer-restriction/index.html
@@ -15,8 +15,8 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">consumer-restriction | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/plugins/consumer-restriction"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet=" [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
@@ -26,7 +26,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.2790b36f.js"></script>
-<script src="/assets/js/main.d8422e6d.js"></script>
+<script src="/assets/js/runtime~main.31e8c9cc.js"></script>
+<script src="/assets/js/main.88f0d7c0.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/apisix/2.7/plugins/cors/index.html b/docs/apisix/2.7/plugins/cors/index.html
index 3f9c9f9..63f936b 100644
--- a/docs/apisix/2.7/plugins/cors/index.html
+++ b/docs/apisix/2.7/plugins/cors/index.html
@@ -15,14 +15,14 @@
 <link rel="alternate" type="application/rss+xml" href="/events/rss.xml" title="Apache APISIX® Blog RSS Feed">
 <link rel="alternate" type="application/atom+xml" href="/events/atom.xml" title="Apache APISIX® Blog Atom Feed">
 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap"><title data-react-helmet="true">cors | Apache APISIX®</title><meta data-react-helmet="true" property="og:url" content="https://apisix.apache.org//docs/apisix/2.7/plugins/cors"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="2.7"><meta data-react-helmet="true" name="docsearch:docusaurus [...]
-<link rel="preload" href="/assets/js/runtime~main.2790b36f.js" as="script">
-<link rel="preload" href="/assets/js/main.d8422e6d.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.31e8c9cc.js" as="script">
+<link rel="preload" href="/assets/js/main.88f0d7c0.js" as="script">
 </head>
 <body>
 <script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):(window.matchMedia("(prefers-color-scheme: light)").matches,e("light"))}()</script><div id="__docusaurus">
 <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 [...]
... 27065 lines suppressed ...